我有一个网络应用程序,我想让用户使用Facebook登录,不仅支持Facebook评论主题,还允许我预先填充用户填写的表单。 (例如,我要求用户填写一个包含字段的名称和生日;如果他们从Facebook登录,我希望这些字段已经为他们填写。)
我的应用程序是用PHP编写的。我看到Facebook建议使用纯Javsascript SDK(https://developers.facebook.com/docs/facebook-login/login-flow-for-web/)。我看到了登录用户并确认其身份的步骤,但是一旦他们登录,我如何让他们的用户数据预先填充我的表单?我是否在我的本地数据库中保留一份副本,或者每次用户访问表单时我是否只是向Facebook询问该信息?
我不需要完美的代码作为答案 - 我只是在朝着正确的方向寻找一些步骤。我需要将哪些SDK组合在一起?我的PHP代码将负责什么以及Facebook的SDK为我做了什么?
答案 0 :(得分:1)
你可以这样继续 -
创建应用,添加Javascript SDK,添加登录代码。请参阅here。
稍微修改登录代码。将FB.login()
替换为 -
FB.login({scope: 'email, user_birthday'});
默认情况下不是每个细节都可以获取,而只是基本信息。对于其他信息,您必须在您的代码中添加权限(如我所述),用户将授权。要查看权限列表,请转到here,然后点击按钮获取访问令牌
用户授权您的应用后,会调用testAPI()
功能。所以成功之后,你的代码将从这里开始;您可以在其中添加代码以自动填写表单上的详细信息
您不需要保留任何数据库。成功登录后,只需进行API
调用即可获取所需的详细信息并设置表单字段的文本。例如:
FB.api('/me', function(response)
{
alert(response.name);
alert(response.birthday);
});
您可以使用Graph API Explorer来测试API结果。
我建议你阅读Developer's Site的基础知识并按照这些简单的步骤进行操作,它并不复杂。