javascript - 使用 Facebook 数据填写表格

标签 javascript facebook forms fill

我想允许用户在我的页面上按下一个按钮,如果他们登录到 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/

相关文章:

javascript - VueJS : How To Detect Environment

javascript - JS 未在 enquire.js 断点处更新

facebook - 使用旧的 facebook API 创建 facebook 应用程序

android - 在没有对话框的情况下将消息作为状态发送 : Android Facebook

ios - Facebook Messenger 无法使用 Swift 在 iOS 9 中打开 URL

javascript - jQuery/ajax 表单提交不适用于多个表单 + 模态未关闭

forms - 您如何管理对表单的并发访问?

javascript - 检查用户是否在 Firebase 中在线

JavaScript/Show Hide Div > 当单选按钮被选中时

javascript - $window.location 仅在使用 Angular JS 的 iPad 中不起作用