如何使用Facebook Javascript SDK获取用户信息,并将其存储在本地?

时间:2013-07-29 16:08:19

标签: javascript php facebook facebook-javascript-sdk

我有一个网络应用程序,我想让用户使用Facebook登录,不仅支持Facebook评论主题,还允许我预先填充用户填写的表单。 (例如,我要求用户填写一个包含字段的名称和生日;如果他们从Facebook登录,我希望这些字段已经为他们填写。)

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

我不需要完美的代码作为答案 - 我只是在朝着正确的方向寻找一些步骤。我需要将哪些SDK组合在一起?我的PHP代码将负责什么以及Facebook的SDK为我做了什么?

1 个答案:

答案 0 :(得分:1)

你可以这样继续 -

  1. 创建应用,添加Javascript SDK,添加登录代码。请参阅here

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

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

    默认情况下不是每个细节都可以获取,而只是基本信息。对于其他信息,您必须在您的代码中添加权限(如我所述),用户将授权。要查看权限列表,请转到here,然后点击按钮获取访问令牌

  3. 用户授权您的应用后,会调用testAPI()功能。所以成功之后,你的代码将从这里开始;您可以在其中添加代码以自动填写表单上的详细信息

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

    FB.api('/me', function(response) 
    {
       alert(response.name);
       alert(response.birthday);
    });
    
  5. 您可以使用Graph API Explorer来测试API结果。

    我建议你阅读Developer's Site的基础知识并按照这些简单的步骤进行操作,它并不复杂。