前言
有天爬文爬一爬,突然看到Google Excel可以用post跟get的方式,將資料傳去google excel內。
正文
1.首先開啟google Excel2.從工具->指令碼編輯器 去開啟GAS(Fig. 1 –1 ),會開啟一個編輯器的視窗(Fig .2)
(Fig.1 )
(Fig .2)
3.開始寫吧。
doPost
function doPost(e){
var par = e.parameter;
var keyword = par.word;
//GET Excel id (從Fig.1 -2去查到你的ID)
var excelID = SpreadsheetApp.openById("1Na69UPnX_RL70eaHA");
//Get Excel Sheet Name(從Fig.1 -3去查到你的sheet Name)
var Sheet = excelID.getSheetByName("sheet1");
var LastRow = Sheet.getLastRow();
Sheet.getRange(LastRow+1,1).setValue(keyword);
return ContentService.createTextOutput("The word is " + keyword);
}
doGet
//回傳json
function doGet() {
//GET Excel id (從Fig.1 -2去查到你的ID)
var excelID = SpreadsheetApp.openById("1Na69UPnX_RL70eaHA");
//Get Excel Sheet Name(從Fig.1 -3去查到你的sheet Name)
var Sheet = excelID.getSheetByName("sheet1");
var lastRow = Sheet.getLastRow();
var word = Sheet.getRange(2, 1).getValue();
// 第二種 return Json
var JSONString = JSON.stringify({ keyWord: word })
return ContentService.createTextOutput(JSONString)
.setMimeType(ContentService.MimeType.JSON);
/* 第一種 return JSON
return ContentService
.createTextOutput(JSON.stringify({ keyWord: word }))
.setMimeType(ContentService.MimeType.JSON);
*/
}
程式基本上沒有什麼比較困難的,那些函數…請查文件
首先是 SpreadsheetApp 、sheet
4.好了之後要發佈的話,按下 發佈->部屬為網路應用程式(Fig.3)
(Fig.3)
即可使用postman去做測試了。
有一點要特別注意,這邊的Project version的意思是,你要選擇第幾版的程式去做你的webAPI
Google並不是你發佈一次就給你一個新網址。
所以你測試完了,要上新的程式,請選擇新增~不然會發現程式一直抓都抓舊的。
如果要測試的話,建議可以直接使用 發佈->從資訊清單部屬 (Fig .4)
(Fig.4)
這邊的網址,只要每一次存檔後,字串都會不一樣,可以拿這個網址來做測試。
但有一點奇怪的是,直接點網址get回傳的值網頁上是有資料的,
但postman回來的卻會說找不到網頁,猜測可能是安全性的問題,
是說發佈太多會覺得煩而已,也沒什麼實際上的差別。
ref.
利用 Google Script 將 Google Sheet試算表,變成簡易資料庫使用(寫入篇)
[教學] 利用 Google Script 發送EMAIL確認信,且不用設定Gmail帳密與SMTP
Google App Script到底是什麼?
0 意見:
張貼留言