Facebook Messenger === ###### tags: `GSS` `LDL` ## 1.使用Facebook Messenger (1) 需要建立一個 Facebook Messenger 的粉絲專頁 * [Fecebook 粉絲專頁註冊頁面](https://www.facebook.com/pages/creation/) (2) 需要在 [Facebook Developer](https://developers.facebook.com/apps) 頁面申請 Facebook App * 取得以下東西 * 粉絲專頁權杖 產品->messenger->設定->存取權杖->產生權杖 * 驗證權杖(自行設定或亂數產生) 產品->messenger->設定->webhook->編輯回呼網址 * 應用程式密鑰 設定->基本資料->應用程式密鑰 (3) 透過後台管理介面 或 Bot 管理 API 新增一個 Bot Channel (4) 註冊 Facebook Channel 所需要的設定 * pageAccessToken - `步驟2` 取得的粉絲專頁權杖 * facebookVerifyToken - `步驟2` 取得的驗證權杖 * facebookAppSecret - `步驟2` 取得的應用程式密鑰 ```jsonld= { ..., "channelHook": { "facebook": { "pageAccessToken": "", "facebookVerifyToken": "", "facebookAppSecret": "" } } } ``` (5) 在 [Facebook Developer](https://developers.facebook.com/apps) 頁面調整以下設定 * 在基本資料頁面將應用程式網域設定為 LDL 的 Domain  * 在 Messenger 頁面編輯粉絲專頁 WebHooks 訂閱項目 訂閱以下四個欄位  * WebHook 的回呼網址是 [LDLdomain]/facebook/[botId]  ## 2.Facebook Messenger 的使用限制 #### (1) 訊息格式的轉換 | Bot Framework Message | Facebook Messenger | | --------------------- | ----------------------------------------- | | Text | Text | | Suggested Action | Quick Reply Message | | Image | Image | | Audio | Audio (尚未支援) | | Video | Video (尚未支援) | | Hero Card | Template Message | | Thumbnail Card | Template Message | | SignIn Card | Template Message | | Receipt Card | Template Message | | Animation Card | N/A | | Audio Card | N/A | | Video Card | N/A | | Adaptive Card | N/A | 註:Template Message 需要放在 channel data 中 #### (2) 一般訊息的限制 (文字、圖片、聲音、影像) * **文字** (Text Message) * text 最多 **320** 個字 * **圖片** (Image Message,包含 Animation Card 的 Image) * 圖片連結必須是有效的 * 支援的圖片格式是 **jpg**、**png** * Url 字數沒有限定,支援的協定:HTTP、HTTPS * 最大支援 25MB 的照片 #### (3) 卡片格式的限制 (使用 Template Message) * 可以在桌機版和手機版上看到卡片內容 * 格式限制比Template Message 寬鬆許多 * **文字** * title 和 subtitle 最多 **80** 個字 * text 最多 **320** 個字 * **圖片** * 支援的圖片格式是 **jpg**、**png** * Url 字數沒有限定,支援的協定:HTTP、HTTPS * 最大支援 25MB 的照片 * **按鈕數量** * 一張卡片按鈕數量最多3個 * **按鈕 Action** * Postback Action (Postback) * Button Label 最多 **640** 個字 * payload 最多 **1000** 個字 * URL Action (OpenUrl) * Button Label 最多 **20** 個字 * Url 字數沒有限定,支援的協定:HTTP、HTTPS * **Gallery** (多個卡片橫向擺置) * 最多可以容納10張卡片 * 詳細可以查看[Facebook Messenger官方文件](https://developers.facebook.com/docs/messenger-platform/reference) 註:由於 facebook 一張卡片最多只能放一張照片和三個按鈕,若是傳送過來的卡片超過一張照片或三張按鈕,會把卡片向右延伸,如果照片不夠使用,會使用最後一張的照片,若按鈕不夠,會使用最後一張卡片的按鈕 #### (4) Quick Reply Message * 支援以下按鈕 Action,最多13個按鈕 * Postback Action (Postback) * URL Action (OpenUrl) #### (5) 其他限制 * Facebook Messenger 不支援 `Adaptive Card` * 如果想要自定 Template Message 內容,請參考 [官方文件](https://developers.facebook.com/docs/messenger-platform/send-messages/templates)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up