Пейджинг не работает и возможно я нашел причину - PullRequest
20 голосов
/ 15 февраля 2012

Я пытаюсь реализовать функцию подкачки потока (новостной ленты) для моего приложения, но она не работает, как ожидалось.Я нашел много подобных вопросов здесь, но нет решения для этой проблемы.

Я попробовал и Graph API, и FQL, и поведение было схожим.Успешно получить результат один или два раза, но после этого не удается получить результат (получает пустой массив JSON).

Наконец, я обнаружил, что эта проблема зависит от access_token.Если я просто изменю исходный код на использование идентификатора приложения Android SDK Stream Example, а не моего собственного идентификатора приложения для аутентификации, он будет работать идеально.

Итак, я считаю, что сервер Facebook проверяет идентификатор приложения и возвращает некоторые странные или ограниченныеaccess_token к моему приложению.

Существуют ли условия для получения действительного access_token?Я попробовал точно такие же разрешения с примером приложения Android SDK Stream, но это не помогло решить проблему.

Я хочу поделиться этой информацией с любым, кто сталкивается с той же проблемой, и проверить, не изменился ли идентификатор приложения (чтобы получитьдействительный access_token) разрешит ваше дело.

Ответы [ 4 ]

0 голосов
/ 19 июля 2012

Несколько вещей на Android:

  • получить права доступа "read_stream"
  • Используйте Android SDK
  • Проверьте пример, который пришел/ Android.В onCreate () я проверяю подлинность объекта Facebook

    this.facebook.authorize (this, новый DialogListener () {....}

  • Тест с использованием графика FacebookAPI Explorer.

Если вы вставите какой-нибудь код, я могу помочь вам в дальнейшей отладке.

0 голосов
/ 06 апреля 2012

Убедитесь, что у вашего приложения есть разрешение read_stream. Без него вы не получите никаких непубличных объектов.

Также, похоже, существуют некоторые общие проблемы LIMIT OFFSET с FQL и потоком. См. Предел потока Facebook FQL? и http://developers.facebook.com/bugs/303076713093995.

0 голосов
/ 06 мая 2012

Используйте Facebook SDK для Android. Его можно найти здесь . Существуют методы получения и установки для получения и установки токена доступа. В первый раз, когда вы делаете единый вход (SSO), вы должны сохранить токен доступа в SharedPreferences, и нет необходимости повторной аутентификации снова и снова. Просто установите токен доступа из ваших предпочтений и позвоните в диалог . Разрешение offline_access не рекомендуется. Facebook SDK для Android делает всю остальную работу. Просто введите достаточное количество параметров через Bundle.

0 голосов
/ 02 апреля 2012

Маркер доступа, возвращенный сервером Facebook, действителен только в течение определенного периода времени.После чего вам нужно обновить токен доступа, что является утомительной работой.Поэтому, чтобы избежать этого и сохранить свой токен, вам нужно добавить разрешение «offline_access» в свой список разрешений.Этот подход используется почти в приложениях, связанных с FaceBook.

...