我正在使用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发生任何变化(但是“关于”字段被添加到请求中)。为什么呢?
由于
答案 0 :(得分:2)
您可以获得没有任何额外权限的字段:
使用权限 -
friends_about_me
- 关于,生物
friends_location
- 位置
friends_likes
- 语言
无效字段(我不知道从哪里看到这些字段) -
您没有获得所有字段的另一件事是因为用户没有询问权限(因此未授予您的应用程序任何权限)。
这是因为,您必须在登录用户时添加代码中的权限,而不仅仅是在“应用程序设置”中添加权限。
例如,如果您使用的是javascript sdk,则使用范围参数完成。 Reference
您可以随时在此处测试您的电话:Graph API Explorer
答案 1 :(得分:0)
要回答您的第一个问题,您可以看到答案here,使用Facebook图表API并搜索/ {用户ID} /权限。
其他人的一些职责。您无法按照here的回答获取朋友的电子邮件地址。要获取好友个人资料图片,您需要添加字段图片(您可以指定大小,如 picture.width()。height()。
我建议您尝试使用Facebooks Graph Api Explorer来播放您请求的权限和信息。