我试图将Facebook与Parse整合。我已按照以下指南https://parse.com/docs/js_guide#fbusers进行操作,但仍遇到问题。
简而言之,facebook上有一个登录按钮。当用户不存在时,它将用户重定向到注册页面,当其现有用户将其重定向到帐户创建页面中他们选择的城市页面时。如果用户取消注册过程,则在登录时,会将现有用户带到帐户注册页面。
但是,只有当用户不存在并且无法完成注册过程时,才会显示Facebook屏幕。以下是我尝试登录时收到的警告:
关于控制台警告/错误
'状态' flag传递给FB.init,当设置为true时,可以 干扰Parse Facebook集成,因此它已被压制。 如果需要,请明确调用FB.getLoginStatus() 行为。
FB.init已被调用 - 这可能表示存在问题 sdk.js:61不支持设置authResponse
以下是Javascript代码:
// Initialize Parse
Parse.initialize("ID", "ID");
window.fbAsyncInit = function() {
Parse.FacebookUtils.init({ // this line replaces FB.init({
appId : '433936150095453', // Facebook App ID
status : true, // check Facebook Login status
cookie : true,
xfbml : true, // initialize Facebook social plugins on the page
version : 'v2.2' // point to the latest Facebook Graph API version
});
// Run code after the Facebook SDK is loaded.
};
(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/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
function fbLogin(){
Parse.FacebookUtils.logIn(null, {
success: function(user) {
if (!user.existed()) {
window.open("accountCreate.html", "_self");
} else {
if (city == "San Francisco") {
window.open("neighbourhoodselectSF.html", "_self");
} else if (city == "New York City"){
window.open("neighbourhoodSelectNYC.html", "_self");
}
else {
window.open("accountCreate.html", "_self");
}
}
},
error: function(user, error) {
alert("User cancelled the Facebook login or did not fully authorize.");
}
});
}
HTML代码:
<button onclick="fbLogin()" id="facebookLogin" class="button button-block button-positive">
<i class="icon ion-social-facebook"></i> <text id="textBtn">Get started with facebook </text>
</button>
<script src="js/facebook.js"></script>
<script src="lib/facebookConnectPlugin.js"></script>
非常感谢任何帮助。
答案 0 :(得分:-1)
这是因为您的应用程序无法找到您尝试在脚本标记中导入的Facebook的sdk.js。
替换
js.src = "//connect.facebook.net/en_US/sdk.js";
与
js.src = "https://connect.facebook.net/en_US/sdk.js";