Простой возврат статуса Facebook с использованием FQL - PullRequest
0 голосов
/ 12 августа 2011

Я пытаюсь создать поле на боковой стороне страницы, которая отображает 6 последних сообщений из учетной записи Twitter и страницы Facebook.Twitter работает именно так, как я хочу - Facebook нет.

В настоящий момент я делаю это, получая последние статусы, используя FQL как JSON, используя cURL, кэшируя их на сервере, затем отображаяони так же, как я твиты в реальной коробке.

Моя проблема заключается в токене доступа.Я ушел прошлой ночью, когда он работал, вернулся сегодня утром и заметил, что дата изменения моего кэшированного файла не изменилась.Я проверил файл с кэшированной ошибкой (куда извлекается извлеченный JSON, если он не содержит нужные мне данные), и у меня возникла ошибка истечения сеанса.Затем я создал небольшую функцию, которая использует cURL (3 вызова cURL или один ящик, я знаю - urgh), чтобы получить новый токен доступа, используя этот URL:

https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=XXX&client_secret=XXXX

Но яТеперь получаю сообщение об ошибке, что требуется сеанс пользователя, но все, что я хочу сделать, это прочитать последние сообщения, которые вообще не зависят от пользователя.Я действительно хочу по возможности избегать использования SDK Facebook.

Tl; dr - FQL, по-видимому, требует, чтобы пользователи входили в систему даже для того, чтобы прочитать статусы со стены заданной страницы - как правильно получить эти данныедля этого не требуется сеанс пользователя (желательно без использования SDK).

1 Ответ

1 голос
/ 12 августа 2011

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

Если вы получаете статусы с фан-страницы, вам просто нужен действительный доступ к приложениютокен - который можно получить из:

https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&grant_type=client_credentials

Затем можно использовать возвращенный токен доступа, чтобы получить статусы с целевой страницы поклонников.


SELECT id,status_id, сообщение, время ОТ статуса WHERE uid = XXXX LIMIT 6

Вы запрашиваете идентификатор пользователя, поэтому для него потребуется действительный токен доступа пользователя.

...