如果有一個需求是希望藉由LINE PUSH API來做訊息的傳遞,不見得每個情境都適合叫使用者去跟機器人講話,進而取得 User ID,這時候就適合使用LINE Login API了。LINE Login也可以藉由URL的參數來設定是否讓使用者登入時,順便詢問加機器人為好友。

加好友可說是非常重要的環節,大多的通訊軟體機器人都會限制陌生傳訊,意思是即使你知道我的ID,在我不是主動聯繫過的情況下,機器人是無法傳送訊息的。況且很多都是使用該應用程式ID的方式在運作,所謂該運用程式ID的部分,就好比A跟B都申請了LINE 機器人,但是對於使用者C的LINE授權所取得的LINE User ID,A跟B所獲得的會是不同的。

OAuth2.0
在實作登入的時候,常常會看到OAuth這個專有名詞,簡而言之OAuth就是在使用者允許/授意下,提供第三方該網站的資料,但不會提供該帳號及密碼,也可以進行取消的動作。
LINE Login API也是以OAuth2.0流程來做,當使用者點擊LINE登入的時候,我們只會取得部分資料,並沒辦法取得更深入的個人資料。

大致上的流程如下

  1. 使用者點擊LINE登入並授權
  2. 此時網站會取得授權碼( code)
  3. 利用授權碼( code)再跟LINE 取得token
  4. 使用token索取個人資料

至於如何到LINE Developers申請一個LINE Login API,筆者就不詳述了,要注意的是取得授權碼( code)後,要使用LINE Login API上的資料,去跟LINE做資料索取,但記得授權碼( code)通常只能使用一次。

以LINE來說,授權碼( code)去索取資料後,可以得到access token…等資料,便可以使用。可以取得的資料如下

  • 使用者LINE User id(授權給該應用程式)
  • 使用者LINE名稱(目前)
  • 使用者LINE大頭照(目前)
  • 使用者LINE狀態(目前)

切記在開發的時候要注意,redirect_uri與Callback URL的部分,是不是跟LINE Developers上所設置的相同。

順便提供一下在LINE Developers的HTTP狀態碼,這個在除錯的時候可以參考一下。
HTTP狀態 描述

  • 200 OK 請求成功
  • 400錯誤的要求 請求有問題。檢查請求參數和JSON格式。
  • 401未經授權 檢查授權頭是否正確。
  • 403禁止 未經授權使用API。確認您的帳戶或計劃已被授權使用API。
  • 429請求過多 確保您在請求的速率限制內。
  • 500內部服務器錯誤 API服務器上的臨時錯誤。

還有出現莫名的登入失敗時,可以考慮清除一下瀏覽器的紀錄喔!!

#Chatbot







你可能感興趣的文章

Hold Shift to Check Multiple Checkboxes

Hold Shift to Check Multiple Checkboxes

白話的 Hash Table 簡介

白話的 Hash Table 簡介

NLP Data Augmentation 常見方法

NLP Data Augmentation 常見方法






留言討論