Javascript 使用解析登录Facebook,但我得到--https://api.parse.com/1/users 404--刷新3次后
我按照这里的说明:(使用Javascript登录Facebook)编写了一个使用Facebook身份验证的登录页面 当我第一次登录时,所有功能都正常工作(除了控制台中的“FB.init已被调用”警告) 刷新页面时,我在控制台中看到“当用户已连接时调用FB.login()时”错误。但我还是收到了一条“用户通过Facebook登录”的消息 如果我再次点击刷新,我现在会收到一个消息框,上面写着“用户取消了facebook登录或未完全授权”(代码中定义了Msgbox), 在控制台中,我现在看到POST to返回了一个400错误,而之前我得到的是200 OK 这是我的HTML代码:Javascript 使用解析登录Facebook,但我得到--https://api.parse.com/1/users 404--刷新3次后,javascript,html,facebook,login,parse-platform,Javascript,Html,Facebook,Login,Parse Platform,我按照这里的说明:(使用Javascript登录Facebook)编写了一个使用Facebook身份验证的登录页面 当我第一次登录时,所有功能都正常工作(除了控制台中的“FB.init已被调用”警告) 刷新页面时,我在控制台中看到“当用户已连接时调用FB.login()时”错误。但我还是收到了一条“用户通过Facebook登录”的消息 如果我再次点击刷新,我现在会收到一个消息框,上面写着“用户取消了facebook登录或未完全授权”(代码中定义了Msgbox), 在控制台中,我现在看到POST
<html><head></head><body> <div id="fb-root"></div>
<script src="http://www.parsecdn.com/js/parse-1.2.9.min.js"></script>
<script>Parse.initialize("<key>", "<key>"); // Additional JS functions here
window.fbAsyncInit = function() {
Parse.FacebookUtils.init({
appId : '<id>', // App ID
channelUrl : '<path>/Channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
Parse.FacebookUtils.logIn(null, {
success: function(user) {
if (!user.existed()) {
alert("User signed up and logged in through Facebook!");
} else {
alert("User logged in through Facebook!");
}
},
error: function(user, error) {
alert("User cancelled the Facebook login or did not fully authorize.");
}
});
};
// Load the SDK asynchronously
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<fb:login-button show-faces="true" width="200" max-rows="1"></fb:login-button>
</body> </html>
Parse.initialize(“,”);//这里有额外的JS函数
window.fbAsyninit=函数(){
Parse.FacebookUtils.init({
appId:“”,//应用ID
channelUrl:'/Channel.html',//通道文件
状态:true,//检查登录状态
cookie:true,//启用cookie以允许服务器访问会话
xfbml:true//解析xfbml
});
Parse.FacebookUtils.logIn(null{
成功:功能(用户){
如果(!user.existed()){
警报(“用户注册并通过Facebook登录!”);
}否则{
警报(“用户通过Facebook登录!”);
}
},
错误:函数(用户,错误){
警报(“用户取消了Facebook登录或未完全授权”);
}
});
};
//异步加载SDK
(功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id)){return;}
js=d.createElement;js.id=id;
js.src=“//connect.facebook.net/en_US/all.js”;
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“facebook jssdk”);
如果有人能发现这个问题,我将不胜感激。
谢谢 “用户取消了facebook登录或未完全授权”表示您已登录。使用chrome的开发者工具控制台检查当前用户是否使用此命令:
Parse.User.current()
如果您得到一个对象,则表示您已经登录
您可以使用Parse.User.logOut()
注销,然后Parse.User.current()
应返回空值
您还可以使用Parse.User.current().get('authData')['facebook']
,如下所示:
注:
如果从parse注销会让你从facebook注销