7

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

4

9 回答 9

15

accounts对象上的属性user说:

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

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

于 2010-08-12T14:21:42.193 回答
5

获得访问令牌后,您可以获得用户管理的所有 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"
      }
   }
}
于 2010-09-14T13:16:31.890 回答
4

使用 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

注意 此方法不适用于 graph api 的 2.1 版本,因为从该版本开始不推荐使用 fql

于 2011-02-18T05:08:04.897 回答
2

我找到了答案,你需要使用FQL,传入适当的access_token:

https://api.facebook.com/method/fql.query?query=SELECT%20page_id%20FROM%20page_admin%20WHERE%20uid=XXXX&access_token=YYYY

于 2010-06-10T00:13:11.070 回答
1

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

$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#。

于 2010-12-31T22:53:26.613 回答
0

@rmorrison - 虽然这不是图形 API。通过新的“喜欢”添加,您可以使用以下 URL:h ttps://graph.facebook.com/me/likes?access_token=blah!或 h ttps://graph.facebook.com/USER_ID/likes?access_token=blah!

于 2010-06-18T03:38:44.723 回答
0

Fql 是获取他是管理员的用户页面的最佳方式。由于其他用户喜欢的用户将给出用户喜欢的所有页面。

于 2010-12-29T06:55:05.090 回答
0

您可以从一个简单的 Facebook Graph API Hit 中获取页面列表。

https://graph.facebook.com/{user-id}/accounts?access_token={access-token}

它将为他/她创建的用户提供页面列表。

于 2017-07-12T10:41:58.917 回答
-1

access_token 的有效期为一小时或更短。即使在之后,有人应该怎么做才能获得详细信息。我试图从

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

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

于 2015-04-12T21:41:43.463 回答