用戶個人檔案 API

透過用戶個人檔案 API,您可以使用專頁專屬編號(PSID)擷取用戶個人檔案資訊,這些資訊可用於制定用戶與 Messenger 互動的個人化體驗。

可用性

如要擷取用戶的個人檔案資訊,您需要具有商家資產用戶個人檔案存取權限功能的進階存取權限。某些欄位需要取得其他權限才能存取。

儘管 PSID 有效,但某些情況下您可能無法將其用於擷取用戶的個人檔案資訊。例如,您無法透過用戶個人檔案 API 存取與即時遊戲頁面相關的 PSID 。

用戶選擇接受

下列事件將會授權您的 Messenger BOT(機械人程式)存取用戶的個人檔案資訊:

某些進入點允許應用程式發起對話,而無需向應用程式授予存取該用戶公開個人檔案的權限。在這些情況下,系統將在用戶回覆原始訊息後向應用程式將授予存取用戶個人檔案的權限。用戶可與應用程式展開對話,但並未授予個人檔案權限的顯著情形包括:

無法使用個人檔案

目前,用戶個人檔案 API 不支援擷取使用手機號碼建立的 Messenger 帳戶之個人檔案資訊。

在這種情況下,API 會傳回錯誤代碼 2018218 以及訊息:「無法取得此用戶的個人檔案。」

可用個人檔案欄位

已針對所需功能和權限獲得應用程式審查批准的應用程式可擷取以下欄位,前提是相關用戶已公開這些資訊並選擇接受您的專頁。

欄位名稱說明權限

id

用戶的 PSID

不適用

name

用戶的姓名

不適用

first_name

名字

不適用

last_name

姓氏

不適用

profile_pic

個人資料相片

不適用

locale

Facebook 用戶的本地語言

pages_user_locale

timezone

時區,根據 GMT 顯示數字

pages_user_timezone

gender

性別

pages_user_gender

要求獲得專頁用戶欄位的功能使用權限

  1. 前往專頁設定 > 進階訊息
  2. 在「用戶資料」下,選擇欄位並點擊「申請」按鈕。

擷取用戶個人檔案

若要使用用戶個人檔案 API,請傳送 GET 要求並附上您希望擷取用戶哪些個人檔案欄位

curl -X GET "https://graph.facebook.com/<PSID>?fields=first_name,last_name,profile_pic&access_token=<PAGE_ACCESS_TOKEN>"

如果應用程式能夠存取用戶的個人檔案,用戶個人檔案 API 將會傳回 JSON 字串,以及用戶個人檔案的所要求欄位。

{
  "first_name": "Peter",
  "last_name": "Chang",
  "profile_pic": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xpf1/v/t1.0-1/p200x200/13055603_10105219398495383_8237637584159975445_n.jpg?oh=1d241d4b6d4dac50eaf9bb73288ea192&oe=57AF5C03&__gda__=1470213755_ab17c8c8e3a0a447fed3f272fa2179ce",
  "locale": "en_US",
  "timezone": -7,
  "gender": "male",
  "last_ad_referral": {
    "source": "ADS",
    "type": "OPEN_THREAD",
    "ad_id": "6045246247433"
  }
}

如果應用程式無法存取用戶的個人檔案,則會傳回空白物件。