PhoneGap facebook плагин для Android дает мне oauthexception - PullRequest
1 голос
/ 27 февраля 2012

серьезно схожу с ума здесь ....

Я пытаюсь заставить плагин facebookGap для Android работать, но он действительно сводит меня с толку (без каламбура).

Я использую код из https://github.com/irnc/phonegap-plugin-facebook-connect/tree/oauth-2.0+irnc,, по крайней мере, я так думаю.

У меня, кажется, две проблемы:

  1. следующий обратный вызов в логине (из pg-plugin-fb-connect) выдает ошибку, потому что "FB.Auth.setAuthResponse (response.authResponse, response.status); "не может быть найден.Я использую неправильный Facebook SDK? Очевидно, нет, см. Редактирование ниже

    PhoneGap.exec(function (response) {
            console.log('PG.FB.login.success: ' + JSON.stringify(response) + ', store into localStorage ...');
            localStorage.setItem(key, JSON.stringify(response));
    
            FB.Auth.setAuthResponse(response.authResponse, response.status);
    
            if (cb) {
                cb(response);
            }
        }, null, service, 'login', ['publish_stream', 'read_stream']);
    },
    
  2. Когда я комментирую FB.Auth.setAuthResponse (response.authResponse,response.status); оператор, мой логин возвращается успешно!Я получаю автоответчик с токеном доступа и статусом подключен.Когда я пытаюсь выполнить следующий код (при успешном обратном вызове)

    FB.api('/me/feed', 'post', { message: body }, function(response) {
    if (!response || response.error) {
        console.log(JSON.stringify(response.error, null, 4));
        alert('We are very sorry, but somthing went wrong');
    } else {
      alert('Message was successfully posted to your wall!');
    }
    });
    

, он выдает мне сообщение oauthexception: «Активный токен доступа должен использоваться для запроса информации о текущем пользователе. "

Я прошел аутентификацию с разрешениями" read_stream, publish_stream ".

Эти два, вероятно, связаны, но я не могу найти ничего о вызове setAuthReponse в API Facebook.

EDIT справка, видимо, не в пути, ноЯ продолжил свои поиски, чтобы заставить это работать.

Facebook js sdk, который я получил от репозитория github, использует «старые» методы авторизации.Я скачал новый Facebook JS SDK и FB.Auth.setAuthResponse там.Я скопировал код в мой существующий js sdk и изменил все вызовы setSession на setAuthRepsonse.Все работает нормально, за исключением того, что токен доступа не появляется, когда я делаю выше FB.api звонки .После этих изменений ошибка остается точно такой же!

О да, я также изменил проверку в обратном вызове входа в систему, чтобы проверять authResponse вместо сеанса (это в примере).

Помощь приветствуется, rinze

1 Ответ

0 голосов
/ 15 марта 2012

Я думаю, что исправил это. По сути, ConnectPlugin.java по-прежнему возвращает объект ответа «сеанс» вместо «authResponse», которого ожидает новый SDK.

Подробнее см. https://github.com/odbol/phonegap-plugin-facebook-connect/commit/0ef84e29603338930ff82fc6d6ef8525b668077d.

...