用戶個人檔案 API

用戶個人檔案 API 可讓您使用粉絲專頁範圍編號(PSID)擷取用戶個人檔案資訊,以便透過這些打造與 Messenger 互動的個人化用戶體驗。

適用與否

若要擷取用戶的個人檔案資訊,您需要具備商家資產用戶個人檔案存取權限功能的進階存取權。部分欄位必須取得其他權限才能存取。

在某些情況下,具備有效的 PSID 也不一定能擷取用戶的個人檔案資訊。舉例來說,與即時遊戲粉絲專頁相關聯的 PSID 無法透過用戶個人檔案 API 存取。

用戶選擇使用

下列事件將授權 Messenger Bot 存取用戶的個人檔案資訊:

部分進入點無須授權應用程式存取用戶公開個人檔案,也能讓應用程式發起對話。在這種情況下,系統會在用戶回覆最初訊息後,將用戶個人檔案的存取權限授予應用程式。請注意,在以下情況中,用戶可能會與應用程式展開對話,但並未授予個人檔案權限:

無法取得個人檔案

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

在此情況下,API 將傳回錯誤代碼 2018218 和「無法取得此用戶的個人檔案」訊息。

可用的個人檔案欄位

如果用戶公開個人檔案資訊並選擇加入粉絲專頁,且應用程式通過應用程式審查批准使用必要功能和權限,即可擷取下列欄位。

欄位名稱說明權限

id

用戶的 PSID

不適用

name

用戶的姓名

不適用

first_name

名字

不適用

last_name

姓氏

不適用

profile_pic

大頭貼照

不適用

locale

用戶在 Facebook 上的語言設定

pages_user_locale

timezone

時區(數字是對應格林威治標準時間)

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"
  }
}

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