用戶個人檔案 API 可讓您使用粉絲專頁範圍編號(PSID)擷取用戶個人檔案資訊,以便透過這些打造與 Messenger 互動的個人化用戶體驗。
若要擷取用戶的個人檔案資訊,您需要具備商家資產用戶個人檔案存取權限功能的進階存取權。部分欄位必須取得其他權限才能存取。
在某些情況下,具備有效的 PSID 也不一定能擷取用戶的個人檔案資訊。舉例來說,與即時遊戲粉絲專頁相關聯的 PSID 無法透過用戶個人檔案 API 存取。
下列事件將授權 Messenger Bot 存取用戶的個人檔案資訊:
askPermission()
函數,要求取得 user_profile
權限。部分進入點無須授權應用程式存取用戶公開個人檔案,也能讓應用程式發起對話。在這種情況下,系統會在用戶回覆最初訊息後,將用戶個人檔案的存取權限授予應用程式。請注意,在以下情況中,用戶可能會與應用程式展開對話,但並未授予個人檔案權限:
用戶個人檔案 API 目前不支援使用電話號碼建立的 Messenger 帳號擷取個人檔案資訊。
在此情況下,API 將傳回錯誤代碼 2018218
和「無法取得此用戶的個人檔案」訊息。
如果用戶公開個人檔案資訊並選擇加入粉絲專頁,且應用程式通過應用程式審查批准使用必要功能和權限,即可擷取下列欄位。
欄位名稱 | 說明 | 權限 |
---|---|---|
| 用戶的 PSID | 不適用 |
| 用戶的姓名 | 不適用 |
| 名字 | 不適用 |
| 姓氏 | 不適用 |
| 大頭貼照 | 不適用 |
| 用戶在 Facebook 上的語言設定 |
|
| 時區(數字是對應格林威治標準時間) |
|
| 性別 |
|
若要使用用戶個人檔案 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"
}
}
如果應用程式無法存取用戶的個人檔案,系統就會傳回空白物件。