繁体   English   中英

Facebook Graph API + Facebook页面

[英]Facebook Graph API + Facebook Pages

使用Facebook的Graph API,给定用户名xyz(假设他们已经对我的网站进行了身份验证),如何获取用户管理的所有Facebook页面的列表?

user对象上的accounts属性表示:

当前用户拥有的Facebook页面。 如果已授予manage_pages权限,则此连接还会生成access_tokens,可用于代表页面查询Graph API。

http://developers.facebook.com/docs/reference/api/user

获取访问令牌后,您可以获取用户管理的所有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

这是我使用的。 它完美无缺

$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有效期为一小时或更短。 为了获得细节,有人应该怎么做。 我试图得到结果

https://graph.facebook.com/v2.3/search?q=coffee&type=place&center=37.76,-122.427&distance=1000&access_token=xyz

这工作了一个小时左右但是如何在一小时后得到结果......无需登录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM