IFTTT 發送 LINE 訊息通知

去年我寫過兩篇文章介紹如何自己打造 LINE 機器人,不過如果只是要發送訊息通知,實在也沒必要花這麼大功夫去打造聊天機器人,所以這篇將會透過 IFTTT 與 LINE Notify,在不用寫什麼程式的情況下,實現「觸發某件事,就自動發送 LINE 訊息」的功能。

在 IFTTT 裡啟用 LINE Notify

IFTTT 是個網路服務平台,縮寫的意思是 IF ( if ) T ( this ) T ( then ) T ( that ) ,顧名思義就是「若做了什麼 ( this ) 則 ( then ) 就執行什麼 ( that )」,而在 IFTTT 的服務裡,大概也都是用這種模式在進行,IFTTT 本身沒有太特別的功能,但最厲害的地方就是它串接了許多知名平台的服務,例如 Gmail、Twitter、Facebook...等,也因為如此,你可以透過 IFTTT,用很簡單的方式串接許多社群網站所提供的服務。

連結到 IFTTT 網站:https://ifttt.com/

進入 IFTTT 網站後就是點選「Sign up」註冊帳號並登入,當然它也支援 Google 與 Facebook 的第三方登入,登入後第一頁就是瀏覽它已經能串的服務,因為我們是要串 LINE,就直接搜尋「line」並點選 LINE。

點選後可以看到一個 Connect 的按鈕,目的在於要連結 LINE 官方所提供的 Notify 通知服務,點選 Connect 就可以進行連結。

點選後頁面會導向 LINE 的網頁登入畫面,使用自己的 LINE 帳號登入,登入後點選「同意並連動」,同時在你的 LINE 好友裡,也會自動多出一個名為 LINE Notify 的好友,屆時就是這個好友會發送通知給你。

連動完成會自動跳回 IFTTT 剛剛的頁面,這時已經看不到 Connect 的字樣,點選右上方的「Settings」,可以看到服務狀態 status 已經是 active 表示啟用完成也正在運行,如果對於連動有任何疑慮,也可以隨時點選 Disconnect LINE 就能取消。

Webhooks + LINE Notify

建立好 LINE Notify 的連結後,回到 IFTTT 主畫面,點選上方「My Applets」,再點選「New Applet」建立一個新的 Applet。

點選後會看到畫面上出現一段話:if +this then that,點選前方藍色的 +this

點選後尋找並添加所需要的服務,在搜尋的欄位輸入「webhooks」,搜尋之後點選下方圖示,添加 webhooks 服務。

點選後繼續點選「Receive a web request」,會要求輸入一個 Event Name,我在這邊使用 line 這個名稱,輸入完成按下 Create trigger,就會回到前一個畫面。

回到前一個畫面後,會發現原本的 if +this then that 變成 if webhooks then +that,點選後方的 +that

點選後尋找並添加所需要的服務,在搜尋的欄位輸入「line」,搜尋之後點選下方 line 的圖示,添加 line 服務。

點選 Send message,可以看到發送訊息的格式,Line Notify 提供三個 Vaule,名稱分別是 Value1、Value2 和 Value3,如果要發送圖片一樣適用這三個變數,要使用變數必須用兩個大括號{{ }}括起來,如果點選 Recipient 的下拉選單,可以看到自己的 Line 群組清單,因此我們也可以指定發送訊息到什麼群組內,預設則是一對一傳送訊息。

這裡我將文字訊息改為{{Value1}},按下 Create action 建立發送 Line 訊息的行爲。

看到 If maker Event "line", then send message 這個畫面,就表示已經建立完成,準備可以開始來傳送訊息給自己。

其實這時候如果打開 LINE,應該就會看見 Line Notify 已經傳送連動成功的訊息。

用網頁傳送 LINE 訊息

點選 My Applets,選擇 Services,點選下方的 Webhooks。

打開後點選右上方的 Setting,就可以看到一串很長的網址,這串網址後方的亂碼就是金鑰,這串金鑰很重要,如果外流的話就表示任何人都可以透過你的 LINE Notify 發訊息給你。( 如果有疑慮,其實只要刪除這個 webhooks 服務,重新跑一次建立流程,就能產生新的金鑰 )

使用網頁編輯器,輸入下方的範例程式碼,在金鑰的地方填入剛剛的金鑰,執行網頁後,就會從 LINE 收到一個 Hello World 的訊息,主要的程式碼如下,在「你的 Webhook 名稱」裡填入剛剛設定的名稱 line,金鑰的部分填入金鑰即可。

https://maker.ifttt.com/trigger/你的 Webhook 名稱/with/key/你的金鑰

完整程式碼:

<html>
<head>
    <meta charset="UTF-8">
    <title>發送 LINE 訊息</title>
    <script
  src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
</head>
<body>
    <script>
        $(function(){
            $.post('https://maker.ifttt.com/trigger/line/with/key/你的金鑰',{value1:'Hello World'});
        });
    </script>
</body>
</html>

小結

如果已經會用 IFTTT 發送 LINE 訊息後,就可以來串接許多不同的服務,在觸發某些事件時 ( 例如氣溫太低、行事曆提醒、空氣太差...等 ) 就會自動發送訊息通知,未來有機會會再寫些串接的服務文章。

有興趣瞧瞧其他新文章嗎?