如何使用 facebook API 查找 facebook url 是社区 url 或个人资料 url
例如 http://www.facebook.com/adelphi.panthers
http://www.facebook.com/BryantAthletics
哪个是个人资料网址,哪个是社区网址,如何找到?
如何使用 facebook API 查找 facebook url 是社区 url 或个人资料 url
例如 http://www.facebook.com/adelphi.panthers
http://www.facebook.com/BryantAthletics
哪个是个人资料网址,哪个是社区网址,如何找到?
您提供的链接是针对 Facebook 用户和 Facebook 页面的。我将假设您所说的“社区网址”是指 Facebook 页面......
好的,所以我认为根据用户名(或 ID)检测什么是 Facebook 页面以及什么是用户将非常简单。
您所要做的(在这些情况下)就是使用用户名查询 Graph API -
https://graph.facebook.com/adelphi.panthers
{
"id": "1360823630",
"name": "Adelphi Panthers",
"first_name": "Adelphi",
"last_name": "Panthers",
"link": "https://www.facebook.com/adelphi.panthers",
"username": "adelphi.panthers",
"gender": "female",
"locale": "en_US",
"updated_time": "2012-10-09T12:51:38+0000"
}
如您所见,此 API 调用返回了一个性别参数。页面不能有性别,因此我们可以假设这是 Facebook 用户。
https://graph.facebook.com/BryantAthletics
{
"name": "Bryant Athletics",
"is_published": true,
"website": "bryantbulldogs.com",
"username": "BryantAthletics",
...
"category": "School sports team",
...
}
您可以在这里看到更多信息正在返回给我们。我认为 Category 参数很好地表明此特定用户名与页面相关。用户不能为自己选择一个类别...
正如@Lix 建议的那样,您可以执行以下操作:
请求: https ://graph.facebook.com/BryantAthletics?fields=gender
HTTP 响应: 400 错误请求
JSON响应:
{
"error": {
"message": "(#100) Unknown fields: gender.",
"type": "OAuthException",
"code": 100
}
}
这告诉我们它不是用户对象。但是它可能是一个组或一个页面。所以您需要使用组或页面唯一的属性发出另一个请求。根据您提出请求的方式,您可以决定相应地处理结果。
考虑,
请求: https ://graph.facebook.com/adelphi.panthers?fields=gender
HTTP 响应: 200 OK
JSON响应:
{
"gender": "female",
"id": "1360823630"
}
现在这告诉我们性别属性存在于这个 Facebook 对象中,所以它肯定是一个用户。
我假设您正在使用 JQuery 来捕获和解析响应。然后,您将检查 JSON 变量中的错误属性以确定对象类型。
If you are working with java then don't pass any parameter of gender type.
it will automatically accept.
I had the same problem but now its resolved.
My working code is:
User user = client.fetchObject("username", User.class);
System.out.println("Gender: " + user.getGender());