如何使用Facebook Javascript SDK获取用户's的信息,我是否将其存储在本地

How to use Facebook Javascript SDK to get user's info, and do I store it locally?

本文关键字:是否 信息 存储 SDK Javascript Facebook 何使用 获取 用户      更新时间:2023-09-26

我有一个web应用程序,我想让用户登录Facebook,不仅支持Facebook评论线程,还允许我预先填充用户填写的表单。(例如,我要求用户填写一个from,其中包括他们的姓名和生日字段;如果他们是从Facebook登录的,我希望这些字段已经为他们填写好了。)

我的应用程序是用PHP编写的。我看到Facebook建议使用纯Javsascript SDK(https://developers.facebook.com/docs/facebook-login/login-flow-for-web/)。我看到了登录用户并确认其身份的步骤,但一旦他们登录,我如何获得他们的用户数据来预填充我的表单?我是在本地数据库中保存一份副本,还是每次用户来表单时都会向Facebook询问这些信息?

我不需要完美的代码作为答案——我只是在寻找正确方向上的一些步骤。我需要把SDK的哪些部分放在一起?我的PHP代码将负责什么,而Facebook的SDK已经为我做了什么?

您可以这样进行-

  1. 创建一个应用程序,添加Javascript SDK,添加登录代码。请参阅此处。

  2. 稍微修改一下登录代码。将FB.login()替换为-

    FB.login({scope: 'email, user_birthday'});
    

    默认情况下,并不是每个细节都可以提取,但只能提取基本信息。对于其他信息,你必须在你的代码中添加用户将授权的权限(正如我所提到的)。要查看权限列表,请转到此处并单击按钮获取访问令牌

  3. 用户授权您的应用程序后,会调用testAPI()函数。因此,在成功之后,您的代码将从这里开始;在那里你可以添加代码来自动填写表单上的详细信息

  4. 您不需要保留任何数据库。成功登录后,只需调用API即可获取任何所需的详细信息,并设置表单字段的文本。例如:

    FB.api('/me', function(response) 
    {
       alert(response.name);
       alert(response.birthday);
    });
    

您可以使用图形API资源管理器来测试API结果。

我建议你阅读开发商网站上的基本知识,并遵循这些简单的步骤,它并不那么复杂。