LineBot第五堂課
4/13 2022
類別:程式教學
LineBot與google試算表的結合
1、先至google雲端硬碟新增一個google試算表。

2、點擊左上角的「無標題的試算表」為此試算表命名,命什麼名字都可以,不影響程式編寫。
3、點擊右上角的「 共用」,將共用權限改為「開啟-任何知道連結的使用者」。
4、下方工作列的名稱先保留原本的名字「工作表1」,此資訊在後面的程式會用到。


5、查看此時您google試算表的網址,在 d/ 和 /edit中間的一串英文與數字為此試算表的ID,
以下圖為例,ID為1b8RxFa5Fj1JXmTOZ4gUTuQa3R2mU2OprJfM3SMuwvVQ,
此ID在後面的程式會用到。

6、回到單元3已建立好google apps script的程式碼,
在 var channel_access_token = "你的Linebot的channel access token" 的下面新增4行程式碼,
記得將"你的試算表ID" 改成第5步中你的試算表的ID>。
var ss = SpreadsheetApp.openById("你的試算表ID"); //試算表ID
var sheet = ss.getSheetByName("工作表1"); //要讀取工作列的名稱
var data = sheet.getRange(2,1); //存對話資料的儲存格 (2,1)表示為試算表的A2
var reply = sheet.getRange(3,4).getValue(); //預設要回話資料的儲存格 (3,4)表示為試算表的D3

7、將原程式中的push_message(ME,event.message.text);
改為
data.setValue(event.message.text);
push_message(ME,reply);

8、點選「發佈」中的「佈署為網路應用程式......」,
專案版本記得一定要選「新增」再更新才會真的更新。

9、此次修改程式碼的目的是當在LineBot上送出對話後,
將對話存在試算表的A2格中
然後LineBot會回應在試算表D3格的文字
請檢查A2格是不是有記錄剛打在LineBot上的文字
另外,可更改D3內的文字,看LineBot是不是會回應該內容

可試著改不同的儲存格儲存和回應對話。