Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
在解決問題之道上不斷前行
上次使用 GAS 部署網頁後,進階做法就是能透過 GAS 結合 google sheet 建置一個簡易的後端存取資料系統,最重要的問題就是---要如何溝通?
我摸索出兩種做法,一種是使用 doPost 或是 doGet ,將 GAS 直接作為溝通工具。另一種做法是呼叫 google script,就看哪種方法剛好符合需求直接用就可以。
其實就如同名稱,使用 doPost 就會使用 POST 方式,如果換成 doGet 就會使用 GET 方式。使用方式很簡單:
先在 gs 檔中加上
function doPost(e) {
var param = e.parameter;
var name = param.name;
var replyMessege = 'Your nane:' + name ;
return ContentService.createTextOutput(replyMessege);
}
然後進行部署,之後會得到一個類似的位置
https://script.google.com/macros/s/<token>/exec
對這個位置發送 POST 就可以囉~大概會是這種感覺
$.post('部署網址',{
name:'billxu',
},function(e){
console.log(e); /// Your name : billxu
});
這種方法就能將 GAS 視為一個簡易後端 API
這個方式比較粗暴,簡單來說就是使用部署後的網頁直接呼叫 gs 檔的函式,簡單來說像這樣寫
google.script.run
.withSuccessHandler()
.customFunction(input);
然後在 gs 檔裡宣告對應的函式名稱
function customFunction (input) {
//do something
}
這樣就可以在部署的網頁呼叫 GAS 中的功能囉~也可以傳入資料,缺點就是不像 POST 可以回傳執行結果,這點要注意。