0

我正在使用 Facebook SDK ( http://facebooksdk.net ) 并希望获取包含以下信息的朋友列表:1. ID 2. 姓名 3. 照片 4. 链接 5. 电子邮件 6. 等等...

我已经阅读了 Facebook 的文档和论坛的不同帖子(包括 stackoverflow),但我很困惑。之后我不确定,是否可以通过 API 请求获取此信息。首先,此请求仅返回 ID 和名称数据:

        var client = new FacebookClient("XXX");
        dynamic friends = client.Get("/me/friends");

下一步 - 尝试修改此请求以指定返回的字段:

        var client = new FacebookClient("XXX");
        dynamic friends = client.Get("/me/friends?fields=about,bio,age_range,first_name,gender,address,email,location,link,languages,username,last_name,timezone,updated_time");

它只返回一些字段:

  "first_name": "XXX", 
  "gender": "male", 
  "link": "https://www.facebook.com/XXX", 
  "username": "XXX", 
  "last_name": "XXX", 
  "updated_time": "2013-09-07T12:18:34+0000", 
  "id": "XXX"

是否可以返回更多字段?据我了解,这取决于权限。我尝试设置这些权限。我转到 Applications -> MyApp -> Permissions,然后看到“用户和朋友权限”字段为空。我尝试设置一些权限,即

user_about_me,friends_about_me

单击“保存”按钮后,我看到了消息:

更改已保存。请注意,您的更改可能需要几分钟才能传播到所有服务器。

但“用户和朋友权限”字段再次为空。第一个问题:为什么以及如何查看所有设置的权限?

其次 - 我通过 FacebookClient 看到我的请求没有任何变化(但“关于”字段已添加到请求中)。为什么?

谢谢

4

2 回答 2

2

无需任何额外权限即可获得的字段:

  1. 性别
  2. 关联
  3. 用户名
  4. 更新时间
  5. ID

有权限-

friends_about_me- 关于,生物
friends_location- 位置
friends_likes- 语言

无效字段(我不知道您从哪里看到这些)-

  1. 年龄范围
  2. 地址
  3. 电子邮件
  4. 时区

您没有获得所有字段的另一件事是因为用户没有询问权限(因此没有授予您的应用程序任何权限)。

这是因为,您必须在代码中添加权限,同时登录用户 - 而不仅仅是在应用程序设置中添加权限。

例如,如果您使用 javascript sdk,则使用scope参数完成。参考


您可以随时在此处测试您的调用:Graph API Explorer

于 2013-09-29T16:37:56.313 回答
0

要回答您的第一个问题,您可以在此处查看答案,使用 Facebook graph api 并搜索 /{user id}/permissions。

对其余部分进行一些澄清。您无法获得此处回答的朋友电子邮件地址。为了获取好友头像,您需要添加字段图片(您可以像这样指定大小图片.width().height( )。

我建议您尝试使用Facebook 的 Graph Api Explorer来处理您请求的权限和信息。

于 2013-09-29T14:13:28.470 回答