我想允许用户在我的页面上按下一个按钮,如果他们登录到 Facebook,该按钮将使用他们的名字、姓氏和电子邮件地址自动填写表格。如果不是,则应弹出 Facebook 登录表单,允许用户登录,然后应进行自动填写。
我一直在 javascript 测试控制台中弄乱这个。我知道我需要调用 first_name、last_name 和电子邮件,但我不确定如何使用这些信息填充我的表单字段。
FB.api(
{
method: 'fql.query',
query: 'SELECT first_name, last_name, email FROM user WHERE uid=' + response.authResponse.userID
},
我想在 javascript 中执行此操作。我需要创建一个函数,该函数将在单击时使用此信息填充表单。有什么想法吗?
最佳答案
你为什么不使用注册插件。它将为您节省大量工作https://developers.facebook.com/docs/plugins/registration/
以防您想要自定义表单。您必须获得用户的许可并获取他的详细信息。您可以使用以下代码:
<div id="fb-root"></div>
<script src="https://connect.facebook.net/en_US/all.js"></script>
FB.init({appId: 'XXXXXXXXXXXXX',status : true,xfbml : true, cookie: true ,oauth : true});
function login(){
FB.getLoginStatus(function(response) {
// checks if user already authorized
if (response.status === 'connected') {
FB.api('me?fields=id,name,email', function(user) {
if(user != null) {
username = user.name;
uid = user.id;
email = user.email;
}
});
} else {
// If user is not authorized call FB.login for pop up window for authorization , scope defines list of persmission requested with user
FB.login(function(response) {
if (response.authResponse.accessToken) {
FB.api('me?fields=id,name,email', function(user) {
if(user != null) {
username = user.name;
uid = user.id;
email = user.email;
}
})
}
}, {scope:'email'});
}
});
}
您在按下按钮时调用 login()。
关于javascript - 使用 Facebook 数据填写表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13124701/