Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript FB.Login response.session不工作?_Javascript_Facebook_Api - Fatal编程技术网

Javascript FB.Login response.session不工作?

Javascript FB.Login response.session不工作?,javascript,facebook,api,Javascript,Facebook,Api,我对以下代码有问题。根据JS,如果response.session有效,它应该发出警报(“用户已登录!”)。问题是,我很确定会话是有效的,但它会提醒“用户未登录!”。我知道会话是有效的,因为我以前登录过,并且在窗口出现时允许应用程序publish\u stream。我也尝试过从我的FB中删除该应用程序,但当我再次允许时,它仍然会提醒“用户未登录!”。我的代码有什么问题 <html> <head> <title>My Facebook L

我对以下代码有问题。根据JS,如果
response.session
有效,它应该发出
警报(“用户已登录!”)。问题是,我很确定会话是有效的,但它会提醒“用户未登录!”。我知道会话是有效的,因为我以前登录过,并且在窗口出现时允许应用程序
publish\u stream
。我也尝试过从我的FB中删除该应用程序,但当我再次允许时,它仍然会提醒“用户未登录!”。我的代码有什么问题

<html>
    <head>
        <title>My Facebook Login Page</title>
        <script src="//connect.facebook.net/en_US/all.js"></script>
        <script>
            window.fbAsyncInit = function() {
                FB.init({
                    appId      : '436956019655560',
                    status     : true, 
                    cookie     : true,
                    xfbml      : true,
                    oauth      : true,
                });
            };

            function fbLogin() {
                FB.login(function(response) {
                    if (response.session) {
                        console.log("User is connected to the application.");
                        var accessToken = response.session.access_token;
                        alert("User is logged in!");
                    } else {
                        alert("User is not logged in!");
                    }
                }, {scope:'publish_stream'});
            }
    </script>
    </head>
    <body>
        <div id="fb-root"></div>
        <INPUT TYPE="BUTTON" ONCLICK="fbLogin()" value="login">
    </body>
</html>

我的Facebook登录页面
window.fbAsyninit=函数(){
FB.init({
appId:'436956019655560',
状态:正确,
曲奇:是的,
xfbml:是的,
真的,
});
};
函数fbLogin(){
FB.登录(功能(响应){
if(response.session){
log(“用户已连接到应用程序。”);
var accessToken=response.session.access\u令牌;
警报(“用户已登录!”);
}否则{
警报(“用户未登录!”);
}
},{范围:'publish_stream'});
}

我非常确定response.session不再存在。我相信你需要寻找回应。authResponse。请在FB.login上查看:

截至2011年12月13日,JavaScript SDK现在只支持OAuth 2.0进行身份验证。在JSSDK中启用OAuth2.0的功能于7月份首次引入。在2011年10月1日之前,所有应用程序都可以进行测试和迁移。通过此更改,请确保已将response.session替换为response.authResponse


请尝试检查response.authResponse。另外,尝试将response对象记录到控制台,并查看您得到的确切信息。

我非常确定response.session不再存在。我相信你需要寻找回应。authResponse。请在FB.login上查看:

截至2011年12月13日,JavaScript SDK现在只支持OAuth 2.0进行身份验证。在JSSDK中启用OAuth2.0的功能于7月份首次引入。在2011年10月1日之前,所有应用程序都可以进行测试和迁移。通过此更改,请确保已将response.session替换为response.authResponse


请尝试检查response.authResponse。另外,尝试将响应对象记录到控制台,并查看您得到的确切信息。

纠正我的好朋友。我刚刚在其他人的示例代码中发现了这一点。谢谢:纠正我的好朋友。我刚刚在其他人的示例代码中发现了这一点。谢谢你:D