Как я могу получить события на странице 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, который знал об этом. Казалось, она сочувствовала, но не имела решения для меня. Я рассчитывал на то, что это немного снизилось.
Очевидно, что Цукерберг показывает, сколько он может быть после слушаний в Сенате.
Ответ 5
Горячая печать. У меня не было времени, чтобы посмотреть, действительно ли это что-то решает.
https://developers.facebook.com/blog/post/2018/05/01/enhanced-developer-app-review-and-graph-api-3.0-now-live/
Ответ 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.