获取Facebook用户的基本信息时收到错误响应

时间:2012-03-22 01:29:51

标签: ios facebook facebook-graph-api

我在ios上这样做。当我收到用户的信息(gendar,locale等)时,例如Bill Gates(216311481960),它将返回错误。也许是因为这些信息不公开。如果我只是得到名字,链接,图片,那就没问题了。但是我怎么能处理这种错误。我怎么知道可以检索哪些信息?

感谢。

1 个答案:

答案 0 :(得分:1)

如果没有用户访问令牌,可以通过以下方式获取公共信息:http://graph.facebook.com/216311481960

{
   "id": "216311481960",
   "name": "Bill Gates",
   "picture": "http://profile.ak.fbcdn.net/hprofile-ak-snc4/276582_216311481960_498814368_s.jpg",
   "link": "http://www.facebook.com/BillGates",
   "likes": 1216122,
   "category": "Public figure",
   "is_published": true,
   "website": "www.thegatesnotes.com www.gatesfoundation.org",
   "username": "BillGates",
   "talking_about_count": 25035
}

正如您所看到的,这似乎不是用户信息,而是页面信息。 对于用户信息,您需要使用Facebook用户ID。扎克是4 ......所以:http://graph.facebook.com/4

{
   "id": "4",
   "name": "Mark Zuckerberg",
   "first_name": "Mark",
   "last_name": "Zuckerberg",
   "link": "http://www.facebook.com/zuck",
   "username": "zuck",
   "gender": "male",
   "locale": "en_US"
}

注意它是如何同时包含first_name和last_name的,而作为示例的“比尔门”显然不是“用户”而是页面。

使用有效的用户访问令牌,可以通过以下方式获取所有共享信息:

http://graph.facebook.com/me?access_token=ValidUserAccessToken