Недоступно имя отправителя API Facebook messenger

#facebook #facebook-graph-api #facebook-messenger

#Facebook #facebook-graph-api #facebook-messenger

Вопрос:

У меня есть бот, использующий Facebook Messenger API / webhook. Когда Facebook отправляет сообщение, у отправителя установлен только идентификатор, а не имя.

Поэтому я пытаюсь получить имя с помощью graph API, используя,

 https://graph.facebook.com/v2.6/<sender-id>?fields=first_name,last_nameamp;access_token=<page-token>
  

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

Из моих журналов я вижу, что это работает некоторое время, а не другие. Я получаю сообщение об ошибке,

 (#100) No matching user found
  

Я только предполагаю, что если это более старый разговор, идентификатор, который он вам дает, где-то истек, поэтому вы не можете получить имя?

У кого-нибудь еще есть эта проблема или найти обходной путь?

Комментарии:

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

Ответ №1:

Хорошо, разобрался, и это ошибка пользователя.

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

В любом случае, удаление webhook из другого приложения устранило проблему.

Комментарии:

1. Я попробовал r = requests.get(‘ graph.facebook.com/v13.0 {0}?fields=first_nameamp;access_token{1}’.format(sender_id, access_token)).json () но я получаю следующую ошибку {‘ошибка’: {‘сообщение’: «Неподдерживаемый запрос на получение. Объект с идентификатором ‘5374692185929045’ не существует, не может быть загружен из-за отсутствия разрешений или не поддерживает эту операцию. Пожалуйста, ознакомьтесь с документацией Graph API по адресу developers.facebook.com/docs/graph-api «, ‘type’: ‘GraphMethodException’, ‘code’: 100, ‘error_subcode’: 33, ‘fbtrace_id’: ‘AxIor3V912LMrGmhsTLjGPK’}} не могли бы вы мне помочь, пожалуйста