本文介紹如何獲取有關 Messenger 和 Instagram 訊息對話的資訊。您可以取得:
本教學導覽假設您已閱讀 Messenger 平台概覽和 Instagram 訊息概覽,並已執行所需的元件。
您將需要:
MESSAGING
或 MODERATE
任務的用戶所要求的專頁存取憑證對於用戶與您專頁之間的 Messenger 對話,您的應用程式需要擁有:
MESSAGING
或 MODERATE
任務的用戶所要求的專頁存取憑證對於用戶與您 Instagram 專業帳戶之間的 Instagram 訊息對話,您的應用程式需要擁有:
MESSAGING
任務的用戶所要求的專頁存取憑證instagram_basic
、instagram_manage_messages
和 pages_manage_metadata
權限當有 Instagram 商業帳戶最近與您的應用程式連結時,您可使用此 API 來為收件匣同步過往對話。
如要取得對話清單,請傳送 GET
要求至 /PAGE-ID/conversations
端點,其中包含設定為 instagram
或 messenger
的 platform
參數。
curl -i -X GET "https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/conversations ?platform=PLATFORM &access_token=PAGE-ACCESS-TOKEN"
成功的話,應用程式將會收到一個 JSON 物件,其中包含您與某位用戶之間對話的編號清單,以及最近訊息傳送的時間。
{ "data": { "id": "CONVERSATION-ID-1", "updated_time": "UNIX-TIMESTAMP" }, { "id": "CONVERSATION-ID-2", "updated_time": "UNIX-TIMESTAMP" } ... ] }
如要擷取您 Instagram 專業帳戶或 Facebook 專頁與特定用戶的對話,請傳送 GET
要求至 /PAGE-ID/conversations
端點,並包含 platform
參數,以及已設定為該用戶 Instagram 範圍編號或專頁範圍編號的 user_id
參數。
curl -i -X GET "https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/conversations ?platform=PLATFORM &user_id=INSTAGRAM-OR-PAGE-SCOPED-ID &access_token=PAGE-ACCESS-TOKEN"
成功的話,應用程式將會收到對話的編號。
{ "data": [ { "id": "CONVERSATION-ID" }, ] }
如要取得對話中的訊息清單,請傳送 GET
要求至 /CONVERSATION-ID
端點,其中包含 messages
欄位。
curl -i -X GET "https://graph.facebook.com/LATEST-API-VERSION/CONVERSATION-ID ?fields=messages &access_token=PAGE-ACCESS-TOKEN"
成功的話,應用程式將會收到訊息編號清單及每則訊息的建立時間。
{ "messages": { "data": [ { "id": "Message ID-1", "created_time": "UNIX-TIMESTAMP-MOST-RECENT-MESSAGE" }, { "id": "Message ID-2", "created_time": "UNIX-TIMESTAMP" }, { "id": "Message ID-3", "created_time": "UNIX-TIMESTAMP" }, ... ] }, "id": "Conversation ID", }
如要取得傳送者、接收者和訊息內容等訊息相關資訊,請傳送 GET
要求至 /MESSAGE-ID
端點,其中包含您感興趣的欄位。
預設欄位為 id
和 created_time
。
請注意:對 /CONVERSATION-ID
端點的查詢會傳回對話中的所有訊息編號,但您只能取得對話中 20 則最近訊息的詳細資料。如果您查詢的訊息超過 20 則最近訊息的範圍,您會看到一則指明訊息已刪除的錯誤訊息 。
curl -i -X GET "https://graph.facebook.com/LATEST-API-VERSION/MESSAGE-ID ?fields=id,created_time,from,to,message &access_token=PAGE-ACCESS-TOKEN"
成功的話,應用程式將會收到以下 JSON 回應。在此範例中,顧客向您的 Instagram 專業帳戶傳送了一則純文字訊息。
{ "id": "aWdGGiblWZ...", "created_time": "2022-07-12T19:11:07+0000", "to": { "data": [ { "username": "INSTAGRAM-PROFESSIONAL-ACCOUNT-USERNAME", "id": "INSTAGRAM-PROFESSIONAL-ACCOUNT-ID" } ] }, "from": { "username": "INSTAGRAM-USERNAME", "id": "INSTAGRAM-SCOPED-ID" }, "message": "Hi Kitty!" }
另請參閱: