Facebook实施,注册后

时间:2011-03-06 23:05:32

标签: php javascript facebook

当用户想要注册我的网站时,我正在使用下面的脚本,所以当他批准应用程序时,字段会自动填写,他只需要提交表单。

但是我坚持登录机制的第二部分,如何检查用户是否已经登录到他的Facebook帐户并且他批准了我的申请?

我将每个用户的facebook ID保存在我的用户数据库中。

注意:我使用的是用户流,而不是服务器流。

<script type="text/javascript">
        var appId = "xxxxxxxxx";

        if(window.location.hash.length == 0)
        {
            url = "https://www.facebook.com/dialog/oauth?client_id=" + 
                     appId  + "&redirect_uri=" + window.location +
                     "&response_type=token";
            //window.open(url);

        } else {
            accessToken = window.location.hash.substring(1);
            graphUrl = "https://graph.facebook.com/me?" + accessToken +
                        "&callback=displayUser"

            //use JSON-P to call the graph
            var script = document.createElement("script");
            script.src = graphUrl;
            document.body.appendChild(script);  
        }


        function displayUser(user) {
            myform = document.forms['regform'];
            username = user.name;
            first = username.split(" ");
            myform.elements['fname'].value = first[0];
            myform.elements['lname'].value = first[1];
            myform.elements['username'].value = first[0]+first[1];
            myform.elements['email'].value = user.email;
            myform.elements['fbid'].value = user.id;
        }
</script>

1 个答案:

答案 0 :(得分:0)

您可能想要使用Facebook JS SDK:http://developers.facebook.com/docs/reference/javascript/

例如,要检查登录状态,您可以执行以下操作:

    FB.getLoginStatus(function(response) {
      if (response.session) {
        // logged in and connected user, someone you know
      } else {
        // no user session available, someone you dont know
      }
    });