解析脸书登录错误:"You must initialize FacebookUtils before calling logIn"



我正在尝试使用带有cordova的Parse上的Facebook登录。

$cordovaFacebook.login(['email'], function(response) {
Parse.FacebookUtils.logIn('email', {
success: function(user) {
console.log('success fb login')
// Handle successful login
},
error: function(user, error) {
// Handle errors and cancellation
console.error(error)
}
});
}, function(error) {
console.error(error)
});

而在app.js的一个.run块中,我有

window.fbAsyncInit = function () {
Parse.FacebookUtils.init({
appId: fbAppId,
autoLogAppEvents: true,
xfbml: true,
status: true,
cookie: true,
version: 'v2.4'
});
FB.AppEvents.logPageView();
console.log('Parse FB loaded')
// loadParse()
};

但是,当我在iOS设备上运行该应用程序时,在记录器上,我从未看到"已加载解析FB"。当我在浏览器上运行它时,我确实看到"解析FB已加载"。

每当我尝试通过设备上的Facebook登录时,我都会收到错误You must initialize FacebookUtils before calling logIn

我相信问题在于 Parse 在设备上没有启动 FacebookUtils,而是在浏览器上。为什么会这样?会不会是window对象有问题?

请注意,Facebook登录本身正在工作(通过整个FB登录流程(,但是在回调通过FacebookUtils解析登录后,我收到了所描述的错误。

感谢您的帮助!

试试这个...之前到 FacebookUtils

parse.initialize('APPLICATION_ID', 'JAVASCRIPT_KEY');
parse.serverURL = 'https://parseapi.back4app.com/';
parse.FacebookUtils.init({ // this line replaces FB.init({
appId      : 'xxxxxxx', // Facebook App ID
status     : true,  // check Facebook Login status
cookie     : true,  // enable cookies to allow Parse to access the session
xfbml      : true,  // initialize Facebook social plugins on the page
version    : 'v2.12'//point to the latest Facebook Graph API version
});

相关内容

最新更新