0

当用户登录时(在批准我的 Facebook 应用程序后),我很难理解 Facebook 如何与我的服务器通信。我已经连续几个小时浏览了指南和其他 Stackoverflow 问题,但似乎无法掌握它。http://developers.facebook.com/上的文档也没有多大帮助。

我想要做的是在我的页面上有一个 Facebook 登录按钮,它打开一个 Facebook 登录窗口(使用 Facebook 的 Javascript SDK)。当用户随后登录 Facebook 并批准我的应用程序时,我想获取用户的数据(姓名、电子邮件、年龄)并将其存储在我的数据库中。如何安全地获取这些数据服务器端确认/授权)?

基本上,按这个顺序;

  • 用户点击我网站上的登录按钮
  • 将显示一个弹出窗口,用户可以在其中登录并批准 Facebook 上的应用程序
  • 通过获取用户的 user_id 检查用户之前是否已经登录
  • 如果是用户第一次登录,我会收集用户的 Facebook 数据(具体为:全名、照片、电子邮件地址、年龄)并存储在我的数据库中

用户在 Facebook 弹出窗口中登录/批准应用程序后,用户的数据随后将发送到哪里?

4

1 回答 1

1

用户批准应用程序后,用户的数据不会发送到任何地方。您需要进行 API 调用来检索数据。

Facebook 是OAuth提供商。您使用 Facebook 登录,因此用户可以授予您访问她的 Facebook 数据(例如电子邮件、朋友列表、消息、新闻提要等)的权限。您还可以获得代表用户执行操作的权限(例如上传照片、发布到新闻提要等)。在启动 OAuth 流程时,您可以指定将向用户请求哪些权限。这些被称为范围

弹出窗口中发生的授权流程是为了让用户授予您访问您请求的数据的权限。此权限表示为访问令牌,每次您想要检索用户数据或尝试代表用户执行某些操作时都必须使用该访问令牌。

获得访问令牌后,您可以使用Facebook Graph API从 Facebook 获取所需的任何数据。如果您尝试访问一些您没有获得权限的数据,则 API 方法将返回拒绝访问错误。

我想从 Facebook 开发者网站提供更多关于范围和访问令牌的链接,但我的声誉得分太低 :)

于 2013-10-13T17:36:51.377 回答