Тестирование с другим пользователем
Мое приложение находится в режиме разработки.Вы также можете легко создавать и использовать тестирующих пользователей, настраивать их в соответствии с вашими потребностями и входить в учетную запись , или вы можете добавить реального пользователя Facebook в свою учетную запись и назначить ему роль тестера.
Я вхожу в систему с Эллисон Клинтон и создаю событие
Я могуполучить через API /events
Затем я переключаю приложение facebook в рабочий и удаляю пользователя из тестовой роли
Я могу получить информацию о пользователе
, но я не могу получить ранее созданныйсобытие
Завершение процесса авторизации
Возможно, вы не завершили процесс проверки для user_events
?
Вы можете получить доступ к данным в разработке , но не в производстве.Я также не завершил процесс обзора, но я могу получить доступ к данным user_events
.
"Если ваше приложение находится в режиме разработки, вы сможете получить токены доступа к странице с любым разрешением для любогоу кого есть роль в вашем приложении. Если вы просто хотите управлять публикациями на своей собственной странице или страницах пользователей, имеющих роли в вашем приложении, вы сможете сделать это в режиме разработки, не отправляя на проверку приложения. "- Ответ службы поддержки разработчиков Facebook
Возможно, вам потребуется выполнить
также рассмотрим сообщение об ошибке и указание ссылки здесь
Как отлаживать Facebook Graphql
Единственный возможный сценарий состоит в том, чтоиспользуемый вами токен не включает разрешение user_events
.
Запрос к /users/events
с токеном, у которого отсутствует разрешение user_events
, вернет статус 200
и data: []
, сообщений об ошибках в ответе нет.
Я тестировал этот сценарий на Graphql Facebook Explorer и запрос не возвращает сообщение об ошибке.Отладочное сообщение отображается в Api explorer
, но оно явно не включено в ответ.
Я экспортировал этот запрос как curl, и это результат
~ $ curl -i -X GET "https://graph.facebook.com/v3.3/10210855772523702/events?access_token=TOKEN"
HTTP/2 200
content-type: application/json; charset=UTF-8
facebook-api-version: v3.3
x-fb-debug: h1WInt+yxtkm/1isTGfG2cd9JX8HAx5R5A9U/QC4k2lRrJ5mrKYaInR2Mm6XQ5UOrdSquAgWKnYj2jiTw6fwLQ==
{"data":[]}
Вы можете получить отладочную информацию передача параметра debug=all
в вашем /users/events
запросе , как в примере curl
ниже:
~ $ curl -i -X GET "https://graph.facebook.com/v3.3/10210855772523702/events?debug=all&access_token=TOKEN"
HTTP/2 200
{"data":[],"__debug__":{"messages":[{"message":"The field 'events' is only accessible on the User object after the user grants the 'user_events' permission.","type":"warning"}]}}
Мой совет вам добавить параметр ?debug=all
в ваш запрос и включитьрезультат ответа на ваш вопрос, чтобы мы могли помочь вам в устранении неполадок.
Ниже приведены другие тесты, которые я выполнил с помощью Graphql Facebook Explorer
и смог получить события.
ШАГ 1. Перейдите на Facebook Graph API Explorer
STEP2. Сгенерируйте токен
get token -> get user access token
и добавьте разрешение user_events
ШАГ 3. Запустите запросы
Используйте конечную точку /me?fields=id,name
для получения вашего идентификатора пользователя, а затем:
- get
/{user-id}
- get
/{user-id}/permission
- get
/{user-id/events
, как вы можете видеть изНа рисунках ниже /events
возвращает data: []
, в то время как конечная точка /permissions
имеет разрешение user_events
.
Мой пользователь Facebook не присоединился ни к какому событию в будущем.Создание события и повторение теста вернули некоторые результаты.
На рисунках ниже показаны мои тесты