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

Tutorial Upload File ke Google Drive dari Website

Menambah dan Menghapus Baris pada AlbertTable

Dibalik Penerimaan CPNS 2018

Aplikasi Andoid Widget Gempa BMKG

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

Software Java My Scanner 2.0

Memperoleh Data Terbaru dari Join Dua Tabel di MySQL

Afiliasi Shopee Tanpa Wajah dan Tanpa Beli Sampel Bermodal AI

Ketika Pengelola Basis Data Terabaikan