Как я могу получить события на странице Facebook?

Используя последнюю версию (2.12) API Facebook, я пытаюсь получить (общедоступные) события для страницы, используя Graph API Explorer.

Однако я не могу заставить его работать:

enter image description here

Когда я нависаю над серым серым "id" или "name" слева, он говорит: "Поле пусто или запрещено с помощью токена доступа".

Теперь страница, которую я использую в качестве примера, - Techcrunch, и у них много событий. Поэтому "пустой", похоже, не является проблемой.

На "запрещенной" стороне я проверил ссылку API и на https://developers.facebook.com/docs/graph-api/reference/page/events/.

Однако, похоже, я не могу найти здесь никакой проблемы. В нем говорится, что для чтения событий страницы требуется действительный токен доступа к странице или токен доступа пользователя с базовыми разрешениями. ".

Что мне здесь не хватает? Любые советы приветствуются!

Ответ 1

Перейдите на страницу https://developers.facebook.com/docs/graph-api/changelog/breaking-changes#pages-4-4.

В настоящее время Facebook не возвращает события для страниц с использованием API страниц, если вы не используете пользователя для доступа к токену, и этот пользователь был приглашен в любое из событий страницы или посещает/интересуется каким-либо из событий на странице.

Ответ 2

Как unknow_b сказал:

в настоящее время для доступа к событиям вы также можете использовать конечную точку пользователя, такую как "/me/events" или "/me/events/not-answer", используя токен доступа, действительный для этого пользователя. вы можете получить события, в которые пользователь был приглашен или заинтересован/заинтересован

Но пользователь токена доступа работает только 1 час! Есть ли у кого-то другая идея?

Ответ 3

Я пытаюсь сделать то же самое: получать публичные события со страницы. Связанные с вышеупомянутыми предложениями:

  • Я попробовал токен доступа пользователя short- две недели назад, который работал недолго. Теперь этого больше нет. Это для кого-нибудь из вас?
  • И долгоживущий пользовательский токен, и токен страницы, сгенерированный либо с помощью short-, либо с долгоживущим пользовательским токеном, также не возвращают никаких событий.

На https://developers.facebook.com/docs/apps/review/#platforms Facebook заявляет:

Начиная с 4 апреля 2018 года все приложения, включая ранее утвержденные, должны пройти проверку приложений, чтобы получить доступ к API событий, API групп и API страниц. Приложения, получающие доступ к API событий и API групп, потеряют доступ и требуют пересмотра после возобновления обзора приложений.

Поэтому проверка может помочь. Я сообщу дальше.

Обновление 1: ответ на об этой связанной ошибке сообщает о ней более четко:

В обзоре приложения необходимо использовать следующие ребра: GET/page/events и GET/me/events

Тем временем они отменили все ожидающие рассмотрения запросы на изменения в API Graph 3.0, поэтому я должен отправить их повторно.

Обновление 2: Мой проект отклонен & Я не буду продолжать это сейчас.

Ответ 4

Ага. Facebook снял API-интерфейс Graph для токенов доступа к странице. У меня был этот код в производстве в течение 2 лет, и он отлично работал. Единственный способ получить данные (или неделю назад) - это временный токен пользователя, который длится около 2 часов. Это полностью нарушило мою страницу расписания моей группы. Я прошел через все проспекты и даже разговаривал с сотрудником отдела рекламы в Facebook, который знал об этом. Казалось, она сочувствовала, но не имела решения для меня. Я рассчитывал на то, что это немного снизилось.

Очевидно, что Цукерберг показывает, сколько он может быть после слушаний в Сенате.

Ответ 6

Я, наконец, разобрался в этом. В приложении fb вам необходимо отключить требование секретного ключа. Это можно найти в настройках предварительной настройки консоли приложения fb. Он назывался "Требовать секрет приложения".

После того, как вы создадите токен доступа к PAGE, вы получаете токен страницы fb, а затем расширяете его. вот отладчик токенов: https://developers.facebook.com/tools/explorer/

Вы можете расширить маркер доступа программно, как описано здесь: https://developers.facebook.com/docs/facebook-login/access-tokens/expiration-and-extension

А ТАКЖЕ

https://developers.facebook.com/docs/facebook-login/access-tokens/#pagetokens

ИЛИ

Существует также инструмент расширения в отладчике маркера доступа (просто нажмите кнопку отладки, а кнопка "Продолжить" внизу слева): https://developers.facebook.com/tools/accesstoken/

Ответ 7

Я только что создал скрипт на Python, вы можете увидеть здесь. Он запрашивает данную страницу facebook и события, и помещает данные в таблицу mysql.