Line 可以說是台灣人使用頻率最高的通訊軟體,比起 facebook messenger 高出不少,然後 Azure bot service 自從 GA 一直都沒有直接支援接通 Line 的功能,過去要接通 Line 只能利用 Direct Line 的方式來處理,就在前幾天講課的過程中,突然看到了 Azure bot service 的 Channel 清單出現了 Line 的符號,真是太棒了
在開發 Chatbot 使用 bot framework 有個最大的優點是,我們可以專注於 Chatbot 的核心邏輯,而串接 Channel 的部份可以交給 Azure bot service,以一種零程式碼的方法直接整合通訊軟體,過去就直接支援Facebook messenger ,但一直沒有支援 Line ,不過情況到最近有了改變,就在上週突然發現了 Azure bot service 的 Channel 清單多了一個 Line ,這表示有支援 Line 了嗎 ? 二話不說立即來試看看
有開發過 Line bot 的應該都知道 ,我們必須先申請 Line developer,並且建立一個 Provider ,在這個 Provider 裡我們會需要設定 Webhook URL 做為 message 轉送的端點。有關 Line bot 的開發這裡不做討論,我想大家 google 一下應該不難找到 ( 推薦董大偉老師的書 )
在 Azure bot service 的部份,主要是 Bot Channels Registration 的部份,如果一開始你使用過 Azure bot service 建立完整的 Chatbot 解決方案,那麼你就會有一個 Web app bot 服務,而如果一開始你不是利用 Azure bot service 建立完整的 Chatbot 解決方案,那麼你可以單獨建立 Bot Channels Registration 服務,其中的訊息端點就是你的Chatbot 核心程式碼的 Web api 端點。
接著在頻道的部份,點選 Line 圖示,表示要加入串接 Line bot
在設定上我們需要二個資訊分別是 [ 頻道秘密 ] & [ 頻道存取權杖 ] , [ 頻道秘密 ]翻譯的有點怪,應該稱為 [ 頻道金鑰 ],這二個資訊可以在 Line developer 的 Provider 裡找到,分別是 Channel secret 以及 Channel access token ,都在 Channel settings 裡,把 Channel secret 的值填入到 [ 頻道秘密 ],而 Channel access token 則是填入到 [ 頻道存取權杖 ] 裡。
最後在 Line developer 的 Provider 裡把 Webhook URL 改為 Bot Channels Registration 裡的 Webhook URL 值
簡單完成以上步驟後,你的 Line bot 就可以直接串接到你的 Azure bot service 了,而如果你有串接多個 Channel,那就可以享用共用 Chatbot 核心邏輯囉。
By No.18