Created
April 10, 2019 04:37
-
-
Save milkmidi/44d5e71986f2ec81ebf6e0eb13bbe6b3 to your computer and use it in GitHub Desktop.
Google App Scripts - Sheet Example
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// https://developers.google.com/apps-script/reference/spreadsheet/sheet | |
function getActiveSheet(id){ | |
var spreadSheet = SpreadsheetApp.openById(id); | |
var sheet = spreadSheet.getSheets()[0]; | |
return sheet; | |
} | |
function doGet(e) { | |
var param = e.parameter; | |
var id = param.id; | |
if(!id){ | |
var errorStr = JSON.stringify({status:'error', errors:['invalidate id']}); | |
return ContentService.createTextOutput(errorStr).setMimeType(ContentService.MimeType.JSON); | |
} | |
var sheet = getActiveSheet(id); | |
var lastRow = sheet.getLastRow(); | |
var lastColumn = sheet.getLastColumn(); | |
var firstRowValues = sheet.getSheetValues(1, 1, 1, lastColumn)[0]; | |
var resultSheetArr = sheet.getSheetValues(2, 1, lastRow - 1, lastColumn); | |
var resultObj = { | |
status:"ok", | |
data:[] | |
}; | |
for(var i = 0; i < resultSheetArr.length ; i++){ | |
var a = resultSheetArr[i]; | |
var itemObj = {}; | |
for(var j = 0; j< firstRowValues.length; j++){ | |
itemObj[firstRowValues[j]] = a[j]; | |
} | |
resultObj.data.push(itemObj); | |
} | |
var JSONString = JSON.stringify(resultObj); | |
return ContentService.createTextOutput(JSONString).setMimeType(ContentService.MimeType.JSON); | |
} | |
function doPost(e){ | |
var param = e.parameter; | |
var id = param.id; | |
var data = param.data; | |
var sheet = getActiveSheet(id); | |
data = data.split(','); | |
sheet.appendRow(data); | |
var resultObj = { | |
status: "ok", | |
lastRow: sheet.getLastRow() | |
} | |
var JSONString = JSON.stringify(resultObj); | |
return ContentService.createTextOutput(JSONString).setMimeType(ContentService.MimeType.JSON); | |
} | |
function debugGet() { | |
Logger.log("debugGet"); | |
var queryString = "?id=14q38yMwbrI0c9Mq6PrOB-oxndFmk3wg6_SjeMtXi6Qg"; | |
var url = ScriptApp.getService().getUrl() + queryString; | |
var options = { | |
"method" : "GET", | |
"followRedirects" : true, | |
"muteHttpExceptions": true | |
}; | |
var result = UrlFetchApp.fetch(url, options); | |
if (result.getResponseCode() == 200) { | |
var params = JSON.parse(result.getContentText()); | |
Logger.log(JSON.stringify(params)); | |
} | |
} | |
function debugPost() { | |
Logger.log("debugPost"); | |
var url = ScriptApp.getService().getUrl(); | |
var payload = { | |
id: '14q38yMwbrI0c9Mq6PrOB-oxndFmk3wg6_SjeMtXi6Qg' | |
}; | |
var options = { | |
"method" : "POST", | |
"payload" : payload, | |
"followRedirects" : true, | |
"muteHttpExceptions": true | |
}; | |
var result = UrlFetchApp.fetch(url, options); | |
if (result.getResponseCode() == 200) { | |
var params = JSON.parse(result.getContentText()); | |
Logger.log(params); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment