使用Facebook数据自动填充我的自定义表单

时间:2012-12-27 06:41:09

标签: facebook facebook-graph-api facebook-javascript-sdk

我有一个设计的表单,它接受输入值。我希望人们点击“注册为Facebook”按钮,其中包含他们的Facebook详细信息,因此使用适当的值填充我的自定义表单。我希望它像这样。 https://www.odesk.com/signup/create-account/id/Contractor_50dbed1edc1416.20352143

请告诉我如何实现这一目标?

1 个答案:

答案 0 :(得分:3)

Registration Plugin正是您要找的。 :)

<强>已更新

如果您想要自定义表单。您必须获得用户的许可并获取他的详细信息。您可以使用以下代码:

<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()。