Playing with Google Docs Scripts and Get Satisfaction
Sometimes I do things that don’t really have a point… yet. One of them was pulling some information from GetSatisfaction (GSFN) to a Google Docs Spreadsheet (GDS). GSFN has an API that returns everything in JSON, so writing script in a GDS to pull in that information is quite easy.
The first step is to create a spreadsheet in Google Docs. Â This will act as a container for the data.
The second step is to create a script to parse the JSON output and put it in the spreadsheet. Â An example of this, which is a script I used to only get the topic, date, and type of topic (question, idea, problem, or praise). Â It’s simple, and it can be expanded on. Â But for the sake of example, here it is:
function fillGSFN() {
var r=1;
for(var page=89;page<200;page++){
var jsondata = UrlFetchApp.fetch("http://api.getsatisfaction.com/companies/{COMPANY}/topics.json?page="+page);
var object = Utilities.jsonParse(jsondata.getContentText());
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getSheets()[0];
for(var i in object.data){
sheet.getRange(r, 1).setValue(object.data[i].subject);
sheet.getRange(r,2).setValue(object.data[i].created_at);
sheet.getRange(r,3).setValue(object.data[i].style);
r++;
}
if(i!="14") return 1; //This was not a full page
}
}
This script is still a work in progress, and there are better ways to consume a JSON feed, but for what I was doing, this was a nice quick-and-simple way to do it.
Tags: GetSatisfaction, Google, Google Docs, JSON, Spreadsheet