Платформа Facebook Messenger: как получить информацию о пользователе?

Я пробую недавно выпущенную платформу Facebook Messenger, и пока все хорошо. Все работало хорошо, и я смог создать эхо-бота.

Но мне интересно, как я могу идентифицировать этого пользователя, который начал общаться на моей странице. Например, когда пользователь начал общаться в чате, я получаю пользователя PID (идентификатор пользователя для конкретной страницы).

Делаем следующий запрос к Facebook Graph API:

GET https://graph.facebook.com/v2.6/{PAGE_SPECIFIC_USER_ID}

Я обнаружил, что могу просто запросить следующие поля: first_name, last_name и profile_pic.

Итак, мой вопрос: как я могу узнать, является ли этот пользователь текущим клиентом моей бизнес-страницы? Есть ли другой способ запросить дополнительную информацию (например, адрес электронной почты и реальный идентификатор пользователя facebook)?


person Tulio Faria    schedule 25.04.2016    source источник


Ответы (4)


В настоящее время нет возможности сделать это. Лучшим способом было бы предложить пользователю ввести свою информацию в чате или дать ему ссылку на мобильную страницу входа или какой-либо другой способ связать свою учетную запись с чатом.

person pschang    schedule 28.04.2016

Facebook обновил API платформы обмена сообщениями (2016-07-01) и представил новая функция под названием связывание аккаунтов. Это можно использовать для идентификации пользователя, который создал учетную запись на вашем веб-сайте через Facebook Login, и вы можете связать две учетные записи. Вход в Facebook имеет собственный набор разрешений, которые можно использовать для получения гораздо большего количества информации через API графа Facebook. Полный список можно найти здесь.

person Mukarram Khalid    schedule 26.07.2016

Платформа Messenger 2.0 представляет «API сопоставления идентификаторов», который решит проблему. https://developers.facebook.com/docs/messenger-platform/connecting-accounts

person Zahid Rahman    schedule 20.03.2017

вы можете получить информацию о пользователе, как показано ниже, используя библиотеку fbmq https://github.com/conbus/fbmq

# this method will occur when a message received from user
@page.handle_message
def message_handler(event):
  user_profile = page.get_user_profile(event.sender_id)
  print(user_profile) #first_name, last_name, profile_pic, gender ...
person aluich    schedule 22.09.2016