-
-
Save yihyang/5e46fc9759741f19a06a19c8e00278a3 to your computer and use it in GitHub Desktop.
Make RESTful API with Google Apps Script and SpreadSheet
This file contains hidden or 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
| /* 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