Line Robot ( 二 ) - Messaging API


前言:
    作者從事程式設計師這個行業多年已久,接觸的語言也很多,但最熟悉的還是Java,故選擇Java來開發Line Robot。

Line Robot 運作模式:
Messaging API architecture
    由上圖可以看出,使用者與Line Robot做任何互動時(追蹤、傳訊息、邀請入群組…),訊息會先經過Line伺服器後在傳遞使用者的Line Robot。
    撰寫Line Robot可以看做是撰寫RESTful API(Post Method),從Line技術文件可以看出由Line伺服器傳至Line Robot中會在Request Header中加入X-Line-Signature,用來分別來源是否來自line伺服器。
根據官方文獻紀載:
1. 使用channel secret作為secret key,並以Hmac-Sha256加密,從Request body產生Base64-encoded digest
2. 確認Request header中的X-Line-Signature與digest相同
作者在網路上搜尋到許多對應程式的寫法→點我前往
接著來看一下Line伺服器傳遞至Line Robot的訊息
Request body以JSON的形式封裝,主體由destination及events構成,如下表

屬性 資料型態 敘述
destination 字串 訊息傳送的Line robot id
events Webhook陣列 Information about the event.
Webhook
    作者先列出幾個預計會使用到的狀態

  • Message event
  • Follow event
  • Unfollow event
  • Join event
  • Leave event
  • Member join event
  • Member leave event
  • Postback event
接著我們會以Message event 來實作echo line robot

留言

這個網誌中的熱門文章

Python-相關係數矩陣實作(python-correlation matrix )

ASP.NET-後端將值傳給javascript

ASP.NET-FileUpload上傳後自動觸發button click(FileUpload upload auto trigger button click)