透過用戶個人檔案 API,您可以使用專頁專屬編號(PSID)擷取用戶個人檔案資訊,這些資訊可用於制定用戶與 Messenger 互動的個人化體驗。
如要擷取用戶的個人檔案資訊,您需要具有商家資產用戶個人檔案存取權限功能的進階存取權限。某些欄位需要取得其他權限才能存取。
儘管 PSID 有效,但某些情況下您可能無法將其用於擷取用戶的個人檔案資訊。例如,您無法透過用戶個人檔案 API 存取與即時遊戲頁面相關的 PSID 。
下列事件將會授權您的 Messenger BOT(機械人程式)存取用戶的個人檔案資訊:
askPermission()
函數要求獲得 user_profile
權限。某些進入點允許應用程式發起對話,而無需向應用程式授予存取該用戶公開個人檔案的權限。在這些情況下,系統將在用戶回覆原始訊息後向應用程式將授予存取用戶個人檔案的權限。用戶可與應用程式展開對話,但並未授予個人檔案權限的顯著情形包括:
目前,用戶個人檔案 API 不支援擷取使用手機號碼建立的 Messenger 帳戶之個人檔案資訊。
在這種情況下,API 會傳回錯誤代碼 2018218
以及訊息:「無法取得此用戶的個人檔案。」
已針對所需功能和權限獲得應用程式審查批准的應用程式可擷取以下欄位,前提是相關用戶已公開這些資訊並選擇接受您的專頁。
欄位名稱 | 說明 | 權限 |
---|---|---|
| 用戶的 PSID | 不適用 |
| 用戶的姓名 | 不適用 |
| 名字 | 不適用 |
| 姓氏 | 不適用 |
| 個人資料相片 | 不適用 |
| Facebook 用戶的本地語言 |
|
| 時區,根據 GMT 顯示數字 |
|
| 性別 |
|
若要使用用戶個人檔案 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"
}
}
如果應用程式無法存取用戶的個人檔案,則會傳回空白物件。