Mengirimkan Data Array Menggunakan Python dan Apps Script ke Google Sheets
Dalam posting ini, diberikan contoh mengirimkan data array menggunakan Python urllib dan Apps Script UrlFetchApp.fetch, untuk diinputkan ke Google Sheets dengan fungsi doPost.
Fungsi doPost yang dimaksud, kurang lebih seperti kode dibawah ini:
Di mana variabel target adalah Google Sheet tempat data disimpan.
function doPost(e) { . . . var raw=(e.parameter["raw"]!=null)?JSON.parse(e.parameter["raw"].toString().replace(/'/g, '"')):null; var target = SpreadsheetApp.openById(idspreadsheet); var ss=target.getSheetByName(sheet); ss.getRange(1+start_row,1+start_column,raw.length,raw[0].length).setValues(raw); . . . }
Sedangkan contoh pengiriman data array, berturut-turut sesuai kode berikut:
Penambahan JSON.stringify, diperuntukkan agar data dikirimkan dalam bentuk JSON, sebab untuk Apps Script tidak bisa dikirimkan langsung dalam bentuk array.
Python
from urllib import request, parse import json urlmain="https://script.google.com/macros/s/idapppost/exec" def senddingdata(idspreadsheet,sheet,mode,datum): data = { "keyvalue":"keyaccess","idspreadsheet":idspreadsheet,"sheet":sheet,"raw":datum} req = request.Request(urlmain,parse.urlencode(data).encode()) response = request.urlopen(req) return json.loads(response.read()) contohdata=[["0","Kunjungi"],["1","website kami di edugameapp.com"]] senddingdata("idspreadsheet","NamaSheet",1,contohdata)
Apps Script
var contohdata={}; contohdata[0]=["0","Kunjungi"]; contohdata[1]=["1","website kami di edugameapp.com"]; var data = { "keyvalue":"keyaccess", "idspreadsheet":"idspreadsheet", "sheet":"NamaSheet", "raw":JSON.stringify(contohdata) }; var options = { 'method' : 'post', 'payload' : data }; var urlpostdata="https://script.google.com/macros/s/idapppost/exec"; var response=UrlFetchApp.fetch(urlpostdata,options);
Penambahan JSON.stringify, diperuntukkan agar data dikirimkan dalam bentuk JSON, sebab untuk Apps Script tidak bisa dikirimkan langsung dalam bentuk array.
Sehingga dalam function doPost perlu ditambahkan JSON.parse dan diperlukan pengubahan single quote menjadi double quote
Komentar
Posting Komentar