Skip to content

Instantly share code, notes, and snippets.

@markcam1
Created February 28, 2019 20:40
Show Gist options
  • Save markcam1/e0dcbbd8e4d2e2836d0a5e9fe4daa43d to your computer and use it in GitHub Desktop.
Save markcam1/e0dcbbd8e4d2e2836d0a5e9fe4daa43d to your computer and use it in GitHub Desktop.
Google App Scripts | Sheets Tutorial | json placeholder
/*
Google App Scripts - Sheets Tutorial
Author: Mark Cameron
*/
function showMessageBox() {
Browser.msgBox('You touched me!');
getWebsite();
}
function getWebsite() {
var stringValue = '';
// making a call to the target website, or endpoint
var response = UrlFetchApp.fetch("https://jsonplaceholder.typicode.com/posts/1/comments");
//logging response from target website - In Script Editor > View > Logs
Logger.log(response.getContentText());
//logging response HEADERS from target website - In Script Editor > View > Logs
Logger.log(response.getHeaders().toSource());
//parsing the response data from website
//https://developers.google.com/apps-script/reference/url-fetch/http-response
var rawData = response.getContentText();
var newData = JSON.parse(rawData);
counter = 0;
for (var key in newData) {
//in this loop we iterate over the array containing the data
stringValue = newData[key];
//variable to capture a subset of data from the website
placeholderName = stringValue.name;
placeholderEmail = stringValue.email;
//setting the spreadsheet and cell location to place the website data
//make sure to open a new sheet
//Link: https://developers.google.com/apps-script/reference/spreadsheet/sheet#getrangerow-column
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
//we are setting the sheet here [1] below. [0] is the first sheet, [1] is the second sheet and so on
var sheet = SpreadsheetApp.setActiveSheet(spreadsheet.getSheets()[1]);
//setting cell range (row, column, number of rows, number of columns)
var column1 = sheet.getRange(counter + 1, 1, 1, 1);
column1.setValue(placeholderName);
var column2 = sheet.getRange(counter + 1, 2, 1, 1);
column2.setValue(placeholderEmail);
counter++;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment