Не удается войти через Facebook с помощью Parse.com

Я получаю POST https://api.parse.com/1/users 400 (Bad Request) из следующего запроса Parse.Facebook.Utils.logIn:

FB.login(function(response) {
    if(response.status == "connected") {
        // build authData object for Parse
        var id = response.authResponse.userID;
        var access_token = response.authResponse.accessToken;
        var expiration_date = new Date();
        expiration_date.setSeconds(expiration_date.getSeconds() + response.authResponse.expiresIn);
        expiration_date = expiration_date.toISOString();
        var authData = {
            "facebook" : {
                "id" : id,
                "access_token" : access_token,
                "expiration_date" : expiration_date
            }
        };

        // log in with Parse
        Parse.FacebookUtils.logIn(authData, {
            success: this._fbLoginSuccess,
            error: this._fbLoginError
        });
    }
}, this.FB_PERMISSIONS);

Создаваемый мной объект authData основан на этом формате и этот API.

Как я могу это исправить? Мне не повезло с использованием Parse.FacebookUtils.logIn со стандартным параметром разрешений (в мобильном Интернете и с PhoneGap), поэтому я аутентифицируюсь без него и вместо этого использую параметр authData.

Есть идеи? Спасибо.


person Garrett    schedule 18.10.2012    source источник
comment
Это использование JS SDK или вы используете свой собственный?   -  person user94154    schedule 19.10.2012
comment
Это использование JS SDK. Мне нужно войти в систему через Parse, но обычный Parse.FacebookUtil.logIn не работает, поэтому вместо этого я вхожу в систему с помощью обычного FB SDK, а затем использую authData для входа через Parse.   -  person Garrett    schedule 19.10.2012


Ответы (1)


Объект authData должен начинаться с ключа facebook, например:

var authData = {
        "id" : id,
        "access_token" : access_token,
        "expiration_date" : expiration_date
};
person Garrett    schedule 19.10.2012