用Google App Script打造打造自己的lINE機器人

來打造一個回聲狗吧~

這篇文章寫於 2020 年,文中的工具與版本可能已經更新,實作時請以官方文件為準。

本文目錄
  1. SETP 1: 建立 LINE Messaging API
  2. STEP 2 : 建立 Google Apps Script 接收 LINE 訊息
  3. STEP 3: 驗證串接成功

為什麼撰寫這篇文章

Google App Script在以前我就非常的喜愛,也曾用他來當我專案後台登入的api來使用,搭配上Google Sheet,你簡直獲得了免費資料庫(不過他執行的速度就…反正就免費的速度XD)

但為了讓技術經過這段日子獲得更多提升,我想在原先資料庫的應用上加點料,比如說串接機器人,讓機器人對你定期提醒

本文章僅僅是示範最簡單的應用層面,實際上應該有非常多的應用等待大家去發掘

文章目標

  1. 了解Google App Script,可撰寫簡單api並附帶參數
  2. Google App Script串接Line機器人,讓你可以自由決定使用功能

本文章使用到的技術:

  1. Google App Script : 撰寫你想要執行的邏輯
  2. LINE developers : 打造自己的lINE機器人

SETP 1: 建立 LINE Messaging API

我們要先在這裡申請到line發送訊息所需要的token

除了Channel type要寫Messaging API外其他就自由發揮,反正你填錯或是漏填LINE會逼著你填完

SETP 1: 建立 LINE Messaging API(圖 1)

新增完成後在Messaging Api裡面的basic id就是這個機器人在line的id

SETP 1: 建立 LINE Messaging API(圖 2)

你就能在line裡面透過id找到他惹

SETP 1: 建立 LINE Messaging API(圖 3)

除了id之外最重要的就是token,這個也是在Messaging Api裡面的Channel access token

SETP 1: 建立 LINE Messaging API(圖 4)

另外我們不需要Greeting message、Auto response的功能

SETP 1: 建立 LINE Messaging API(圖 5)

STEP 2 : 建立 Google Apps Script 接收 LINE 訊息

你可以在這裡開始你的Google App Script的故事 ,點擊Start Scripting,開啟一個Google App Script的專案吧

STEP 2 : 建立 Google Apps Script 接收 LINE 訊息(圖 6)

將以下程式複製貼上,如果您願意可以自由更改,記得將剛剛取得的line token放上去喔

function doPost (e) { //凡事使用post method皆要通過這個function 

  var CHANNEL_ACCESS_TOKEN = '你的 Channel access token';
  var msg = JSON.parse(e.postData.contents);

  // 取出 replayToken 和發送的訊息文字
  var replyToken = msg.events[0].replyToken;
  var userMessage = msg.events[0].message.text;

  if (typeof replyToken === 'undefined') {
    return;
  }

  var url = 'https://api.line.me/v2/bot/message/reply';
  UrlFetchApp.fetch(url, {
    'headers': {
      'Content-Type': 'application/json; charset=UTF-8',
      'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN,
    },
    'method': 'post',
    'payload': JSON.stringify({
      'replyToken': replyToken,
      'messages': [{
        'type': 'text', // 格式為文字,line可以傳送多種個格式(carousel、image),有興趣的可以自己研究
        'text': userMessage, //你目標傳遞的訊息
      }],
    }),
  });
}

原始碼:code.gs(GitHub Gist)

接下來要將這個程式發布(如果有授權相關問題必須都接受才會通過)

STEP 2 : 建立 Google Apps Script 接收 LINE 訊息(圖 7)

Project version記得每次都要選擇New(否則不會更新),並且要允許任何人可以存取這隻app,不然你的程式無法被line機器人執行

STEP 2 : 建立 Google Apps Script 接收 LINE 訊息(圖 8)

接下來複製你這串web app URL給LINE Message Api使用

STEP 2 : 建立 Google Apps Script 接收 LINE 訊息(圖 9)

貼到webhook URL上面後按下Save

STEP 2 : 建立 Google Apps Script 接收 LINE 訊息(圖 10)

STEP 3: 驗證串接成功

打開你的LINE就可以測試功能是否正常嚕~如果你是按照我的程式碼複製貼上,那他現在應該是回聲狗的功能XD

STEP 3: 驗證串接成功(圖 11)

今天的教學就到這裡了~串接Google Sheet的部分我會放到下一篇文章,歡迎有興趣的人來觀看喔!

參考資源:簡易後端實作 ( Google Apps Script )

Talk

留言討論

留言載入中…