解析Facebook登录错误:“您必须在调用logIn之前初始化FacebookUtils”

时间:2017-08-20 03:05:03

标签: javascript cordova ionic-framework parse-platform

我正在尝试使用Facebook登录Parse with cordova。

$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)
});

.run的{​​{1}}区块中,我有

app.js

然而,在我在iOS设备上运行应用程序时,记录器上,我从未看到“Parse FB loaded”。当我在浏览器上运行它时,我执行看到“Parse FB Loaded”。

每当我尝试在设备上通过Facebook登录时,都会收到错误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() };

我认为问题是Parse在设备上没有启动FacebookUtils,但它在浏览器上。为什么会这样?它会成为You must initialize FacebookUtils before calling logIn对象的问题吗?

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

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

在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
  });