【问题标题】:Facebook API - getting friend list with detail info againFacebook API - 再次获取包含详细信息的朋友列表
【发布时间】:2013-09-29 14:06:47
【问题描述】:

我正在使用 Facebook SDK (http://facebooksdk.net) 并希望获取包含以下信息的好友列表: 1.身份证 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 看到我的请求没有任何变化(但“关于”字段已添加到请求中)。为什么?

谢谢

【问题讨论】:

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


    【解决方案1】:

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

    1. 名字
    2. 性别
    3. 链接
    4. 用户名
    5. 姓氏
    6. 更新时间
    7. 身份证

    有权限-

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

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

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

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

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

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


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

    【讨论】:

    • 我找到了年龄范围、地址、电子邮件。这里的时区 - magicscreenshot.com/ResizeImage/DTS0C0dYLUE.jpg
    • 我确实要求获取用户的权限并看到,该用户具有权限“friends_about_me”:1,但是当我添加此字段以获取用户详细信息时 - 我没有看到此字段.. .
    【解决方案2】:

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

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

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

    【讨论】:

    • 我又糊涂了。那么,权限可以由用户和内部应用程序设置吗?用户可以在哪里设置权限?为什么需要应用程序的权限?
    猜你喜欢
    • 2013-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-02
    • 2011-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多