0

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

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

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

4

1 回答 1

1

你可以这样进行——

  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);
    });
    

您可以使用Graph API Explorer来测试 API 结果。

我建议您阅读开发者网站的基础知识并按照这些简单的步骤进行操作,这并不复杂。

于 2013-08-05T17:11:08.437 回答