[英]Facebook Graph API + Facebook Pages
使用Facebook的Graph API,给定用户名xyz(假设他们已经对我的网站进行了身份验证),如何获取用户管理的所有Facebook页面的列表?
user
对象上的accounts
属性表示:
当前用户拥有的Facebook页面。 如果已授予manage_pages权限,则此连接还会生成access_tokens,可用于代表页面查询Graph API。
获取访问令牌后,您可以获取用户管理的所有Facebook页面列表的所有详细信息。
https://graph.facebook.com/[FACEBOOKUSERID]?metadata=1&access_token=
输出看起来像
{
"name": "Facebook Developer Garage Austin - SXSW Edition",
"metadata": {
"connections": {
"feed": "http://graph.facebook.com/331218348435/feed",
"picture": "https://graph.facebook.com/331218348435/picture",
"invited": "https://graph.facebook.com/331218348435/invited",
"attending": "https://graph.facebook.com/331218348435/attending",
"maybe": "https://graph.facebook.com/331218348435/maybe",
"noreply": "https://graph.facebook.com/331218348435/noreply",
"declined": "https://graph.facebook.com/331218348435/declined"
}
}
}
使用fql查询! 这是获取用户管理员页面的最佳方式。 您还可以限制名称。 即具有空名称的页面示例fql查询,它还为您提供页面详细信息。
SELECT page_id,page_url,name,pic_square FROM page WHERE page_id IN (SELECT page_id FROM page_admin WHERE uid = " + **UserId** + ") and name!=''
UserId - 管理员的ID
注意此方法不适用于图api的2.1版本,因为从该版本开始不推荐使用fql
我找到了答案,你需要使用FQL,传入适当的access_token:
这是我使用的。 它完美无缺
$pages = $facebook->api(array('method' => 'fql.query','query' => 'SELECT page_id FROM page_admin WHERE uid = '.$uid.''));
foreach($pages as $k=>$v) {
echo 'page id#:'.$v['page_id'].'<br/>';
}
这当然是在为fb用户创建会话之后! $uid
将是您返回托管页面列表的特定Facebook用户的个人资料ID#。
@rmorrison - 这不是图API。 使用新的“喜欢”添加,您可以使用此URL:h ttps://graph.facebook.com/me/likes?access_token = blah! 或者https://graph.facebook.com/USER_ID/likes?access_token = blah!
您可以从简单的Facebook Graph API Hit获取页面列表。
https://graph.facebook.com/{user-id}/accounts?access_token={access-token}
它将为用户创建的页面列表。
Fql是获取他是管理员的用户页面的最佳方式。 像其他人一样喜欢用户会给出用户喜欢的所有页面。
access_token有效期为一小时或更短。 为了获得细节,有人应该怎么做。 我试图得到结果
这工作了一个小时左右但是如何在一小时后得到结果......无需登录。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.