Skip to content

Instantly share code, notes, and snippets.

@yihyang
Forked from nyancodeid/README.md
Created September 27, 2020 13:54
Show Gist options
  • Select an option

  • Save yihyang/5e46fc9759741f19a06a19c8e00278a3 to your computer and use it in GitHub Desktop.

Select an option

Save yihyang/5e46fc9759741f19a06a19c8e00278a3 to your computer and use it in GitHub Desktop.
Make RESTful API with Google Apps Script and SpreadSheet
/* Route
* All Request with Method Get will be proces here
*/
function doGet(req) {
var action = req.parameter.action;
var db = SpreadsheetApp.openById("YOUR SPREADSHEET ID");
var sheetUsers = db.getSheetByName("Users");
// Update Route
if (action == "update") {
return update_value(req, sheetUsers);
}
}
// Update
function update_value(req, sheet) {
var output = ContentService.createTextOutput();
var id = req.parameter.id;
var updates = JSON.parse(req.parameter.data);
var lr = sheet.getLastRow();
var headers = getHeaderRow_(sheet);
var updatesHeader = Object.keys(updates);
for (var row = 1; row <= lr; row++) {
for (var i = 0; i <= (headers.length - 1); i++) {
var header = headers[i];
for (var update in updatesHeader) {
if (updatesHeader[update] == header) {
var rid = sheet.getRange(row, 1).getValue();
if (rid == id) {
sheet.getRange(row, i + 1).setValue(updates[updatesHeader[update]]);
}
}
}
}
}
result = JSON.stringify({
status: true,
message: "Update successfully",
log: logH
});
return ContentService
.createTextOutput(result)
.setMimeType(ContentService.MimeType.JSON);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment