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