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:
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);
	.
	.
	.
}

Di mana variabel target adalah Google Sheet tempat data disimpan.

Sedangkan contoh pengiriman data array, berturut-turut sesuai kode berikut:

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



Postingan populer dari blog ini

Apps Script untuk Cetak Sertifikat

Kaidah Baku untuk Konsistensi Data (PT, Tbk, Pty., & Ltd.)

Kode Apps Script MailApp untuk Form Mengirimkan Email

Apps Script untuk Mengirimkan Notifikasi Approval

Jasa Penjadwalan Semester, UTS dan UAS Perguruan Tinggi menggunakan Google Sheet

Menambahkan Random Key sebagai ID Pembeda di Google Sheet dengan Apps Script

Tutorial Upload File ke Google Drive dari Website

Ketika Pengelola Basis Data Terabaikan

Pengalaman Ditipu di Juanda

Algorithma Jadwal Shift Satpam dengan Javascript