如何获取所有用户好友的列表?

cam*_*ilo 5 csv facebook-graph-api export-to-csv facebook-friends facebook-graph-api-v2.0

我正在使用Facebook Graph API v.20构建一个应用程序构建一个应用程序。

它需要做的第一件事是从用户导出完整的好友列表(ID, name and picture ) 的完整好友列表导出到 CSV 文件。

这可能吗?

Air*_*Air 4

简短回答:不。

\n\n

Graph API v2.0 参考文档意味着您的应用程序将只能访问(至少通过 API)用户的朋友,他们自己使用过您的应用程序允许您的应用程序访问他们自己的朋友列表:

\n\n
\n

权限

\n\n
    \n
  • 需要具有权限的用户访问令牌user_friends才能查看当前人员的好友。

  • \n
  • 这只会返回任何使用过(通过 Facebook 登录)发出请求的应用程序的朋友。

  • \n
  • 如果该人的朋友拒绝该user_friends许可,则该朋友将不会出现在该人的朋友列表中。

  • \n
\n
\n\n

@user664833 在下面的评论中指出了对该政策的一些澄清:

\n\n
\n

Facebook 的 API v2.0 于2014 年 4 月 30 日生效: (1)好友列表不再是默认权限集的一部分,并且拥有自己的权限:请求访问某人的好友列表现在是一个单独的权限您的应用程序必须请求的权限。新权限称为 user_friends。(2)好友列表现在仅返回也使用您的应用程序的好友:通过 /me/friends 端点返回的好友列表现在仅限于已授权您的应用程序的好友列表。Developers.facebook.com/docs/apps/changelog -- 注册为开发人员的 FB 用户可访问的 URL \xe2\x80\x93 user664833 Jun 10 at 5:50

\n
\n\n

实际上,该 URL 似乎是公开的,因为我可以在未登录的情况下查看它。更改日志还解释了为什么某些应用程序仍然可以查看所有朋友,正如 @SimonCross 指出的那样:

\n\n
\n

对于 2014 年 4 月 30 日之前存在的应用程序,在不指定版本号(“未版本化”)的情况下进行 API 调用相当于调用 API 的 v1.0。

\n\n

对于 2014 年 4 月 30 日或之后创建的应用程序,在不指定版本号的情况下进行 API 调用相当于调用 API v2.0。

\n\n

处于非活动状态或创建日期为 2014 年 4 月 30 日或之后的应用程序将无法调用 API v1.0。他们必须使用 v2.0。

\n
\n

  • friendlistexporter 可能是在 2014 年 4 月 30 日之前创建的,并且在 2015 年 4 月 20 日之前仍然可以调用 Graph API v1.0 - 这就是为什么他们目前能够获取用户的完整好友列表。2014 年 4 月 30 日之后创建的应用程序只能调用 Graph API v2.0。在 API v2.0 中,API 仅返回也登录该应用程序的用户朋友的子集。 (2认同)