我正在构建一个应用程序使用Facebook Graph API v.20。
它需要做的第一件事是将用户(ID, name and picture
)的完整好友列表导出到CSV文件。
这可能吗?
简短回答:否
Graph API v2.0参考文档暗示你的应用程序将只能访问(至少通过API)那些自己使用过你的应用程序的用户的朋友和允许你的应用程序访问他们自己的朋友列表:
需要具有
user_friends
权限的用户访问令牌才能查看当前用户的好友这将只返回任何使用(通过Facebook登录)应用程序发出请求的朋友。
如果该用户的好友拒绝
user_friends
权限,该好友将不会出现在该用户的好友列表中。
@user664833在下面的评论中指出了对该政策的一些澄清:
生效 2014年4月30日为Facebook的API v2.0:(1) 朋友列表不再是默认权限集的一部分,并有自己的权限:请求访问一个人的朋友列表现在是一个单独的权限,你的应用程序必须请求。新的权限名为user_friends。(2) 朋友列表现在只返回朋友谁也使用您的应用程序:通过/me/friends端点返回的朋友列表现在仅限于已授权您的应用程序的朋友列表。developers.facebook.com/docs/apps/changelog - URL由FB用户注册为开发人员访问- user664833 6月10日5:50
实际上,URL似乎是公开的,因为我可以在不登录的情况下查看它。更新日志还解释了为什么一些应用程序仍然可以查看所有朋友,正如@SimonCross指出的:
对于2014年4月30日之前存在的应用程序,在没有指定版本号('unversioned')的情况下调用API相当于调用API的v1.0。
对于2014年4月30日或之后创建的应用程序,在没有指定版本号的情况下调用API相当于调用API的v2.0。
未激活或创建日期在2014年4月30日或之后的应用程序将无法调用API的1.0版本。它们必须使用v2.0。