我正试图通过Parse在为Android制作的PhoneGap项目中登录Facebook。
当我尝试在本地运行HTML时,会出现弹出窗口,但我收到通用的“发生错误”消息。当我运行Android项目时,Facebook弹出/重定向甚至不会出现。
<script type="text/javascript" charset="utf-8" src="cordova-1.9.0.js"></script>
<script src="http://www.parsecdn.com/js/parse-1.0.8.min.js"></script>
<script>
Parse.initialize("XXXXXXX",
"YYYYYY");
</script>
</head>
<body>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
Parse.FacebookUtils.init({
appId : 'ZZZZZZZ', // App ID
channelUrl : '//WWW.YOUR_DOMAIN.COM/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
});
// Additional initialization code here
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){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
</script>
<h1>Hello World</h1>
</body>
</html>
所以,我很乐意让这个工作。在此先感谢您的帮助! :)
更新 - 这是我得到的错误信息:
API错误代码:191 API错误说明:指定的URL不归应用程序所有 错误消息:redirect_uri无效:应用程序配置不允许给定URL。
答案 0 :(得分:0)
您有没有找到完整的解决方案?我可以通过选择Facebook登录网站作为我的应用程序与Facebook集成的方式,并将网站设置为[http:// localhost]来解决您的具体问题。然后在运行本地服务器的Chrome中工作正常,但是在Parse JS SDK中错误“必须在调用init之前加载Javascript Facebook SDK”的实际设备上工作不正常。