Пейджинг не работает, и, возможно, я нашел причину
Я пытаюсь реализовать функцию подкачки потока (лента новостей) для своего приложения, но она не работает должным образом. Я нашел много подобных вопросов здесь, но нет решения для решения этой проблемы.
Я пробовал как Graph API, так и FQL, и поведение было похоже. Успешно получить результат один или два раза, но после этого он не может получить результат (получает пустой массив JSON).
Наконец, я нашел, что эта проблема зависит от access_token
. Если я просто изменил исходный код, чтобы использовать идентификатор приложения App Stream для Android SDK, а не свой собственный идентификатор приложения для аутентификации, он отлично работает.
Итак, я считаю, что facebook-сервер проверяет идентификатор приложения и возвращает мне какое-то странное или ограниченное access_token
.
Есть ли какое-либо условие для получения действительного access_token
? Я пробовал те же самые разрешения с помощью приложения Android SDK Stream, но он не смог решить проблему.
Я хочу поделиться этой информацией с любым лицом, столкнувшимся с одной и той же проблемой, и проверить, изменит ли ваш идентификатор приложения (для получения действительного access_token
) ваше дело.
Ответы
Ответ 1
Ток доступа, возвращенный сервером Facebook, действителен только в течение определенного периода времени. После чего вам нужно обновить токен доступа, что является утомительной работой. Итак, чтобы избежать этого и сохранить токен, вам нужно добавить разрешение "offline_access" в список разрешений. Это подход, используемый почти приложениями, связанными с FaceBook.
Ответ 2
Убедитесь, что ваше приложение имеет разрешение read_stream
. Без него вы не получите никаких непубличных объектов.
Также есть некоторые общие проблемы с ограничениями с FQL и потоком. См. Ограничение потока Facebook FQL? и http://developers.facebook.com/bugs/303076713093995.
Ответ 3
Используйте sdf для facebook для Android. Здесь можно найти здесь. Для получения и установки токена доступа используются методы getter и setter. В первый раз, когда вы выполняете Single-Sign-On (SSO), вы должны сохранить токен доступа в SharedPreferences, и нет необходимости повторно проверять подлинность снова и снова. Просто установите токен доступа из своих настроек и вызовите диалог feed. Разрешение offline_access должно быть устаревшим. Фейсбук sdk для android выполняет остальную часть работы. Просто поставьте достаточные параметры через Bundle.
Ответ 4
Несколько вещей на Android:
- получить права доступа "read_stream"
- Используйте SDK android SDK
-
Проверьте образец, который пришел с android. В onCreate() я аутентифицирую объект Facebook
this.facebook.authorize(это, новый DialogListener() {....}
-
Протестируйте с помощью API-интерфейсов Google Graph API.
Если вы вставляете какой-то код, я могу помочь вам отладить дальнейшее.