目錄
- 確認 LINE Channel 的 Provider
- 在 LINE Developers 準備 Channel
- 建立 LINE 會員登入連線
- 核對會員身分
- 需要把活動資料送到自己的系統時
- 端對端測試
- 常見排查
若要把 OOOPEN Lab 的會員登入者對應到自己 LINE 官方帳號的好友,請用自己的 LINE Login Channel 建立品牌會員連線。不要用 Messaging API Channel 建立登入連線。平台提供的 LINE 登入使用 OOOPEN Lab 的 Channel,不能據此取得你官方帳號的好友 ID。
確認 LINE Channel 的 Provider
LINE userId 的對應取決於 LINE Developers 的 Provider。你的 LINE Login Channel 與官方帳號的 Messaging API Channel 必須放在同一個 Provider。若分屬不同 Provider,不能把兩邊的 userId 當成同一人。先確認這個前提,再建立連線。
在 LINE Developers 準備 Channel
- 在 LINE Developers Console 的同一個 Provider 下建立或選取 LINE Login Channel。
- 取得 Channel ID 與 Channel secret。登入連線只使用
profile與openid。Secret 請只輸入 OOOPEN Lab 的安全欄位。 - 開啟 OOOPEN Lab 專案的填答登入/權限設定,在使用品牌會員登入複製 OAuth Callback URL,登記為 LINE Login 的 Callback URL。這是目前環境共用的 callback,無須替每個專案自行組出
/auth/{quizId}/callback。
建立 LINE 會員登入連線
- 在 OOOPEN Lab 的帳號設定建立會員資料空間,每個品牌或客戶使用自己的空間。
- 回專案選取該空間。點選管理會員資料空間與登入連線。在建立登入連線的登入協定選 LINE。將 LINE Developers 的 Channel ID 填入 Client ID,將 Channel secret 填入 Client secret。登入連線名稱是自訂的管理名稱,例如「好味咖啡 LINE」,不影響登入驗證。
- 按建立並綁定到目前專案。要在另一個專案使用同一身分時,選同一個空間及這條已建立連線,按允許此專案使用。請勿為每個專案各建一條連線。
- 按測試目前登入,用 LINE 測試帳號完成登入。若測試視窗被封鎖,儲存未儲存的變更後,改用在目前視窗測試登入。
示範圖片:畫面中的連線名稱、Channel ID 與其他設定值僅供操作示範,請依你自己的 LINE Login 設定為準。
示範圖片:圖中的會員資料空間、連線名稱與識別碼僅供操作示範,請依你自己的品牌設定為準。
核對會員身分
同一個 LINE 使用者在同一 Provider 下登入時,LINE userId 才能與官方帳號好友 ID 對應。此流程不會取得 Email。請不要用顯示名稱做比對。要透過活動資料回傳比對 ID,請看下一節。
需要把活動資料送到自己的系統時
會員登入負責辨識玩家;活動資料回傳需另外建立。到帳號設定的開發人員專區設定活動資料回傳,選同一個會員資料空間,指定專案與事件。事件格式、簽章、ID 比對與去重做法請依如何用 Webhook 串接 OOOPEN Lab 測驗資料?操作。
查看填答完成的回傳內容
完成登入與填答後,你設定的接收系統可收到「填答完成」(finish)事件。下圖列出主要回傳欄位與用途,識別碼已替換為示例值,並省略部分欄位。實際要回傳哪些事件,請依活動目的與接收端需求設定。
示範圖片:圖中的回傳內容與識別碼僅供操作示範,實際收到的欄位會依你的專案與設定為準。
先用 payload.quizId 與 payload.answerId 核對專案及填答,再看 payload.result 與 payload.answers。結果是代碼,不是顯示給玩家的結果名稱;可選欄位是否出現,依實際填答資料而定。
這筆示範有 brandMemberId,但不是每筆事件都會帶出。請勿將 externalUserId 當成 LINE userId;會員識別欄位的使用條件請參考如何用 Webhook 串接 OOOPEN Lab 測驗資料?。
接收端收到事件或回覆 HTTP 200,均不代表品牌系統已完成貼標、發券或會員資料更新。
端對端測試
- 用同一位測試會員完成專案 A 的 LINE 登入與填答。
- 在專案 B 綁定同一個會員資料空間及同一條 LINE 連線,再登入並填答。
- 確認兩個專案都能成功登入。若有設定活動資料回傳,再依回傳教學檢查接收端的事件資料。
常見排查
- 兩邊 LINE userId 不同:先檢查 LINE Login Channel 與 Messaging API Channel 是否在同一 Provider。
- 專案 B 認不出會員:檢查兩個專案是否使用同一個會員資料空間及同一條連線。
- 測試登入失敗:檢查 Callback URL、Channel ID、Channel secret 與 Channel 權限;依畫面錯誤訊息修正後重新測試。