Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ketentuan = header pada baris ke 2, kolom A B C D dan E berisi tgl
- // isi pada baris ke 3 dst
- function doGet(e) {
- var op = e.parameter.action;
- var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/xxx/edit#gid=xxx");
- var sheet = ss.getSheetByName("Sheet1");
- if (op == "insert")
- return insert_value(e, sheet);
- //Make sure you are sending proper parameters
- if (op == "read")
- return read_value(e, sheet);
- if (op == "update")
- return update_value(e, sheet);
- if (op == "delete")
- return delete_value(e, sheet);
- if (op == "readAll")
- return read_all_value(e, ss);
- }
- // pada kolom header harus sesuai dengan isi cell, contoh dlm hal ini = id, name, alamat, tonase
- function insert_value(request, sheet) {
- var id = request.parameter.id;
- var name = request.parameter.name;
- var alamat = request.parameter.alamat;
- var tonase = request.parameter.tonase;
- var flag = 1;
- var lr = sheet.getLastRow();
- for (var i = 1; i <= lr; i++) {
- //mencari kolom 1
- var id1 = sheet.getRange(i, 1).getValue();
- if (id1 == id) {
- flag = 0;
- var result = "Id already exist..";
- }
- }
- //add new row with recieved parameter from client
- if (flag == 1) {
- var d = new Date();
- var currentTime = d.toLocaleString();
- var numcols = sheet.getLastColumn();
- var rowData = sheet.appendRow([id,name,alamat,tonase,currentTime]);
- var result = "Insertion successful";
- }
- result = JSON.stringify({
- "result": result
- });
- return ContentService
- .createTextOutput(result)
- .setMimeType(ContentService.MimeType.JAVASCRIPT);
- }
- function read_all_value(request, ss) {
- var output = ContentService.createTextOutput(),
- data = {};
- //Note : here sheet is sheet name , don't get confuse with other operation
- var sheet = "Sheet1";
- data.records = readData_(ss, sheet);
- var callback = request.parameters.callback;
- if (callback === undefined) {
- output.setContent(JSON.stringify(data));
- } else {
- output.setContent(callback + "(" + JSON.stringify(data) + ")");
- }
- output.setMimeType(ContentService.MimeType.JAVASCRIPT);
- return output;
- }
- function readData_(ss, sheetname, properties) {
- if (typeof properties == "undefined") {
- properties = getHeaderRow_(ss, sheetname);
- properties = properties.map(function(p) {
- return p.replace(/\s+/g, '_');
- });
- }
- var rows = getDataRows_(ss, sheetname),
- data = [];
- for (var r = 0, l = rows.length; r < l; r++) {
- var row = rows[r],
- record = {};
- for (var p in properties) {
- record[properties[p]] = row[p];
- }
- data.push(record);
- }
- return data;
- }
- function getDataRows_(ss, sheetname) {
- var sh = ss.getSheetByName(sheetname);
- //lihat baris ke3
- return sh.getRange(3, 1, sh.getLastRow() - 2, sh.getLastColumn()).getValues();
- }
- function getHeaderRow_(ss, sheetname) {
- var sh = ss.getSheetByName(sheetname);
- //lihat baris ke2
- return sh.getRange(2, 1, 1, sh.getLastColumn()).getValues()[0];
- }
- //update function
- function update_value(request, sheet) {
- var output = ContentService.createTextOutput();
- var id = request.parameter.id;
- var flag = 0;
- var name = request.parameter.name;
- var alamat = request.parameter.alamat;
- var tonase = request.parameter.tonase;
- var lr = sheet.getLastRow();
- for (var i = 1; i <= lr; i++) {
- //lihat kolom ke satu
- var rid = sheet.getRange(i, 1).getValue();
- if (rid == id) {
- sheet.getRange(i, 2).setValue(name);
- sheet.getRange(i, 3).setValue(alamat);
- sheet.getRange(i, 4).setValue(tonase);
- var result = "value updated successfully";
- flag = 1;
- }
- }
- if (flag == 0)
- var result = "id not found";
- result = JSON.stringify({
- "result": result
- });
- return ContentService
- .createTextOutput(result)
- .setMimeType(ContentService.MimeType.JAVASCRIPT);
- }
- function delete_value(request, sheet) {
- var output = ContentService.createTextOutput();
- var id = request.parameter.id;
- var name = request.parameter.name;
- var alamat = request.parameter.alamat;
- var tonase = request.parameter.tonase;
- var flag = 0;
- var lr = sheet.getLastRow();
- for (var i = 1; i <= lr; i++) {
- //lihat kolom ke satu
- var rid = sheet.getRange(i, 1).getValue();
- if (rid == id) {
- sheet.deleteRow(i);
- var result = "value deleted successfully";
- flag = 1;
- }
- }
- if (flag == 0)
- var result = "id not found";
- result = JSON.stringify({
- "result": result
- });
- return ContentService
- .createTextOutput(result)
- .setMimeType(ContentService.MimeType.JAVASCRIPT);
- }
- function read_value(request, sheet) {
- var id = request.parameter.id;
- var name;
- var alamat;
- var tonase;
- var record = {};
- //var place = request.parameter.place;
- var flag = 1;
- var lr = sheet.getLastRow();
- for (var i = 1; i <= lr; i++) {
- // lihat kolom ke satu
- var id1 = sheet.getRange(i, 1).getValue();
- if (id1 == id) {
- flag = 0;
- name = sheet.getRange(i, 2).getValue();
- alamat = sheet.getRange(i, 3).getValue();
- tonase = sheet.getRange(i, 4).getValue();
- var result = JSON.stringify({
- "user": {
- "id": id,
- "name": name,
- "alamat": alamat,
- "tonase": tonase
- }
- });
- }
- }
- return ContentService
- .createTextOutput(result)
- .setMimeType(ContentService.MimeType.JAVASCRIPT);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement