借助用户个人主页 API,您可以使用公共主页范围编号 (PSID) 检索用户个人主页信息,并使用该信息打造用户与您的 Messenger 互动的个性化体验。
要检索用户的个人主页信息,您必须获得对业务资产用户个人主页访问权限功能的高级访问级别。访问某些字段还需获得更多权限。
尽管 PSID 可能有效,但在某些情况下,它可能无法用于检索用户的个人主页信息。例如,无法通过用户个人主页 API 访问小游戏公共主页相关的 PSID。
以下事件将授权您的 Messenger 智能助手访问用户的个人主页信息:
askPermission()
函数,请求获得 user_profile
权限。有些接入点允许应用发起对话,无需获得应用授权即可访问用户的公开资料。在这种情况下,用户回复第一条消息后,该应用便获得访问该用户个人主页的权限。值得注意的是,用户可能会发起与应用的对话,但不授权应用访问个人主页的权限。这些情况包括:
对于使用手机号创建的 Messenger 帐户,用户个人主页 API 目前不支持检索此类帐户的个人主页信息。
在这种情况下,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"
}
}
如果此应用无法访问此用户的个人主页,系统将返回一个空对象。