серьезно сошел с ума здесь....
Я пытаюсь заставить плагин facegap facebook для Android работать, но он действительно подталкивает меня к стене (без каламбуров).
Я использую код от https://github.com/irnc/phonegap-plugin-facebook-connect/tree/oauth-2.0+irnc, по крайней мере, я думаю, что я есть.
Кажется, у меня две проблемы:
следующий обратный вызов в логине (из pg-plugin-fb-connect) дает ошибку, потому что "FB.Auth.setAuthResponse(response.authResponse, response.status);" Не может быть найдено. Использую ли я неправильный фейсбук 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']);
},
Когда я комментирую FB.Auth.setAuthResponse(response.authResponse, response.status); выражение, мой логин возвращается успешно! Я получаю автоответчик с accesstoken и статус, установленный для подключения. Когда я пытаюсь выполнить следующий код (при обратном вызове)
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 в facebook api.
Помощь EDIT, по-видимому, не на этом пути, но я продолжил свои поиски, чтобы заставить это работать.
Фейсбук js sdk, который я получил от gythub repo, все использует "старые" методы auth. Я загрузил новую facebook js sdk и FB.Auth.setAuthResponse. Я скопировал код в мой существующий js sdk и изменил все вызовы setSession на setAuthRepsonse. Все работает нормально, за исключением того, что токен доступа не отображается, когда я делаю над вызовами FB.api. После этих изменений ошибка остается такой же!
О да, я также изменил чек в обратном вызове login, чтобы проверить authResponse вместо сеанса (это в примере).
Помощь более чем приветствуется,
Думаю, я это исправил. В основном ConnectPlugin.java все еще возвращает объект ответа "сеанс" вместо "authResponse", который ожидает новый SDK.
Подробнее см. Https://github.com/odbol/phonegap-plugin-facebook-connect/commit/0ef84e29603338930ff82fc6d6ef8525b668077d.