Facebook API - 再次获取详细信息的好友列表

时间:2013-09-29 14:06:47

标签: c# facebook facebook-graph-api facebook-c#-sdk facebook-sdk-3.0

我正在使用Facebook SDK(http://facebooksdk.net)并希望获得包含以下信息的好友列表: 身份证 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"

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

user_about_me,friends_about_me

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

  

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

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

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

由于

2 个答案:

答案 0 :(得分:2)

您可以获得没有任何额外权限的字段:

  1. 如first_name
  2. 性别
  3. 链接
  4. 用户名
  5. last_name
  6. updated_time
  7. ID
  8. 使用权限 -

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

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

    1. AGE_RANGE
    2. 地址
    3. 电子邮件
    4. 时区

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

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

      例如,如果您使用的是javascript sdk,则使用范围参数完成。 Reference


      您可以随时在此处测试您的电话:Graph API Explorer

答案 1 :(得分:0)

要回答您的第一个问题,您可以看到答案here,使用Facebook图表API并搜索/ {用户ID} /权限。

其他人的一些职责。您无法按照here的回答获取朋友的电子邮件地址。要获取好友个人资料图片,您需要添加字段图片(您可以指定大小,如 picture.width()。height()。

我建议您尝试使用Facebooks Graph Api Explorer来播放您请求的权限和信息。