Title1
Title2
Title3
Login
Link
Search
教學頻道
中信金融管理學院
點二下資訊社
新化社區大學
GAS+購物車開發
GAS專案
GAS+購物車開發
Google表單實戰電商購物車
GAS+LineBot開發
外帶內用管理
購物車管理
線上打卡系統管理
萬用表單5
LineBot 線上書籍
PHP專案
網站程式設計-PHP(10502)
網站程式設計-PHP
PHP SMARTY 樣板引擎
SMARTY樣板
課程教材
雲端工具入門
行動應用企劃人員養成班
萬用表單5
GAS+LineBot開發
研習
萬用表單5
鐵人賽-Google Apps Script整合運用
GAS+LineBot開發
樂齡3C學習不斷電
臺東專科學校
GAS 開發 LineBot 自動接單系統
德鍵
112行動應用企劃人員養成班
111網頁前端設計工程師培訓班
110網頁前端設計工程師培訓班
網頁前端設計工程師培訓班
old
網頁前端設計與開發運用培訓班
Javascript & JQUERY
免費釋出專案
萬用表單
自動資料查詢
台南社大
113-01-雲端工具入門
112-02-AI自動管理
112-01-用QRCODE打造自動化環境
110-01-用雲端打造自動化環境
用雲端打造自動化環境
Google雲端智慧王
讓雲端工具提昇工作效率
Google 速學工作術
台南市總圖
教你如何使用LINE Bot機器人增加工作效率
Google雲端工具基礎應用
Google雲端工具進階應用
工作自動化與行銷(台南社大)
全部教材
台南市人力發展中心
Google工具應用實務班
企業課程
鐳達實業有限公司
GAS研習-20200726
中正大學-GAS研習
將軍圖書館
Google雲端工具基礎應用
Google雲端工具進階應用
南方創客
GitHub 衍伸應用
Google 應用工作術
永康社大
用雲端打造自動化環境(110-春季班)
用雲端打造自動化環境
南關社大
電腦、手機生活應用
遠端桌面
公司業務
傳送檔案
adwcleaner
W10 更新
客戶網站
最近完工
深雋設計有限公司
新化社大校務系統
靚品科技有限公司
5C Precision Co., Ltd.
BALANCE 1
RWD網站
東北關廟麵
曼馱有限公司
永宸昕有限公司
昌美實業社
形象網站
勇信機械有限公司
GAS專案
聯絡我們&案件委託
所有書籍
「GAS 開發 LineBot 自動接單系統」目錄
MarkDown
2. GAS產生器安裝&設定
1. Line Bot申請&設定
1-1 Line Bot申請
1-2 Line Bot 設定
2. GAS產生器安裝&設定
2-1 Line Bot測試
2-2 分析Line Bot 送來的資料
2-3 做一隻卡米狗
2-4 Webhook(e)
2-5 文字訊息
2-6 圖片訊息
2-7 flex
2-8 carousel
3. LINE Messaging API訊息推送&回覆
3-1 回覆
3-2 推播
4. 後台程式建立與管理
4-1 建立商品管理
4-1-1 商品資料處理
4-2 建立訂單管理
4-2-1 訂單資料處理
4-2-2 判斷是否為好友
4-2-3 新增訂單
4-2-4 完成訂單
4-3 取得用戶資料
4-4 取得群組資料
4-5 取得群組中的用戶數
4-6 取得Line Bot 資訊
5. 全域變數
5-1 顯示 Line Bot 資訊
6. Imgur 免費圖片空間
7. 上課步驟程式碼
2-2 分析Line Bot 送來的資料
GAS 開發 LineBot 自動接單系統 ===================== ### 一、Webhook Webhook 指的是一個「*網址*」,透過伺服器建立 Webhook 網址後,有串接 Webhook 的位置就能使用 HTTP 的 POST 方法,向伺服器傳送或接收特定的資料。 ![](https://i.imgur.com/Zn2bKvf.png) ### 二、LINE BOT 與 WebHook 的關係 當使用者在 LINE 聊天室裡跟 LINE BOT 聊天,會發生下列的步驟: > - Step 1:向使用 Message API 所建立的 LINE BOT 發送訊息。 > - Step 2:訊息透過 Webhook 傳遞到使用者部署 GAS 程式的伺服器。 > - Step 3:根據 GAS 程式的邏輯,處理訊息。 > - Step 4:透過 Webhook 回傳結果到 LINE BOT。 > - Step 5:LINE BOT 發送訊息到 LINE 聊天室裡。 > > ![](https://i.imgur.com/aDZac2G.png) > > ### 三、路由 > > 1.
GAS可以接受「POST」、「GET」請求
> 2.
POST => doPost()
> 3.
GET => doGet()
> 4.
由於在GAS部署出來的網址,只有一個,但要做的事情有許多,所以必須建立「路由」來分類
> 5.
Line Bot WebHook 是使用「POST」,所以需在 doPost()增加路由
> 6. ```javascript > Route.path("Webhook", Webhook);//post > ``` > 7.
第一個參數: "Webhook"是指關鍵字:https://網址?op=Webhook,請將此網址設定至 Line Bot 的 Webhook 網址
> 8.
第二個參數:Webhook 是指 函數:必須 找一個地方 建立 函數 function Webhook(e){.....}
> 9.
新增 指令碼 prog\_line\_bot > 因 指令碼與HTML(樣版),不能同名,故我通常在指令碼會加上前綴「prog\_」
> 10. prog\_line\_bot.gs > ```javascript > function Webhook(e) { > //---------------------------------- 記錄Line Bot 訊息 > // e.postData.contents > let formData = { > sn: '', > timestamp: '', > type: 'prog_line_bot / Webhook(e)', > code: e > } > insert_sheet_record(formData); > //---------------------------------- 記錄Line Bot 訊息 end > > return; > } > ``` > >
Webhook:是函數名稱 > Webhook(e):e 是外部傳進來的參數 >
insert\_sheet\_record(formData)
:是將 formData 記錄寫到「記錄工作表」,方便我們查看 LineBot傳什麼值進來
> 11.
Line Developers 設定 Webhook URL: > 將部署的正式網址
https://網址+?op=Webhook
填上 > Use webhook 啟用 > 回到
程式碼.gs
,設定「
CHANNEL\_ACCESS\_TOKEN
」
> ```javascript > > var CHANNEL_ACCESS_TOKEN = 'Line Bot 的 CHANNEL_ACCESS_TOKEN'; > ``` > >
只要程式碼有異動,正式網址一定要「重新部署」
> 執行「
Verify
」驗證(請至記錄工作表檢查是否有記錄寫入),只要有記錄則代表設定無誤
> ```javascript > { > "sn":14, > "timestamp":"2023/04/28 14:34:33", > "type":"prog_line_bot / Webhook()", > "code":{ > "parameter":{"op":"Webhook"}, > "postData":{ > "contents":"{\"destination\":\"Ub0e2772a46889b075d8ccb039135e9b1\",\"events\":[]}","length":63, > "name":"postData", > "type":"application/json"}, > "contentLength":63, > "contextPath":"", > "queryString":"op=Webhook", > "parameters":{"op":["Webhook"]} > } > } > ``` > >
> 12.
Javascript 物件、陣列說明
> 13.
請將 Line Bot加好友,然後去 line 官方 找到 Line Bot 隨便聊天,送出一個訊息,再去記錄工作表,觀看記錄
> 14.
此時,e.postData.contents.events 不再是一個空陣列
> 15.
既然我們要看是「e.postData.contents」,所以再把函數修改為 > 而且傳進的是 JSON 的字串,所以用
JSON.parse(
e.postData.contents
)
來還原 JSON
> ```javascript > > function Webhook(e) { > //---------------------------------- 記錄Line Bot 訊息 > // e.postData.contents > let formData = { > sn: '', > timestamp: '', > type: 'prog_line_bot / Webhook()', > code: JSON.parse(e.postData.contents) > } > insert_sheet_record(formData); > //---------------------------------- 記錄Line Bot 訊息 end > > return; > } > ``` > 16.
變更程式碼後,必須再重新部署,部署完成後,再去 Line官方,送出一個聊天訊息,再去觀看記錄