Подтвердить что ты не робот

Идентификация пользователя Facebook Messenger с помощью UserID из Facebook

Я пробовал новую платформу Facebook Messenger и немного пострадал.

Когда пользователь сначала беседует с моим Ботом, я хочу использовать sender.id для поиска пользователя в моей БД и проверить, являются ли они клиентом или нет, и предлагают более индивидуальный UX.

Пользователь регистрируется на моем сервисе, используя Facebook Login, но, к сожалению, он появляется в моем приложении Facebook ID, а мой идентификатор Bot Facebook отличается тем, что идентификаторы ограничены App-областями.

Есть ли способ связать 2 идентификатора, чтобы я мог найти пользователя в моей БД?

ОБНОВЛЕНИЕ (4/20/2016): Мы обошли это, попросив пользователей при первом контакте через мессенджер щелкнуть ссылку для входа в свою учетную запись, чтобы мы могли связать свой messenger_id со своей учетной записью в нашей БД.

Было бы замечательно, если бы facebook вместо этого включал PAGE_SCOPED ID в конечной точке ids_for_business.

ОБНОВЛЕНИЕ: (6/1/2016): Последнее обновление Facebook включает новую функциональность "Связывание учетных записей", которая, как представляется, решает эту проблему. См. https://developers.facebook.com/docs/messenger-platform/account-linking

4b9b3361

Ответ 2

К сожалению, в настоящее время нет способа сделать это. Попросить их войти в систему для новых потоков - лучший способ связывания аккаунтов.

Ответ 3

Да. Вы можете получить информацию, такую ​​как имя, фамилия, профиль pic url, locale, часовой пояс, пол из api. Только вам нужно передать идентификатор идентификатора/идентификатора получателя и acccess_token вашего бот-посланника.

https://graph.facebook.com/v2.6/USER_ID?fields=first_name,last_name,profile_pic,locale,timezone,gender&access_token=TOKEN

Ответ 4

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

Шаг 1:

Выполняет запрос HTTP HTTP с помощью графического API, вы хотите PAGE_UNIQUE_ID из API диаграмм,

ПОЛУЧИТЬ ЗАПРОС

https://graph.facebook.com/v2.6/<PAGE_UNIQUE_ID>?fields=conversations.limit(10){participants,updated_time,id}&access_token=<PAGE_ACCESS_TOKEN>

PAGE_UNIQUE_ID Советы:

Go === > https://developers.facebook.com/tools/explorer/ == > Нажмите "Получить токен" === > Выберите нужную страницу === > Наконец, вы выводите идентификатор на выходе, который находится здесь PAGE_UNIQUE_ID.

Проверьте браузер для ответа.

Шаг 2:

После выполнения запроса http вы получите объект JSON, который будет показывать последние 10 разговоров страниц, на которых был указан желаемый идентификатор facebook.

Шаг 3:

Итерация через полное имя пользователя или вы можете использовать lodash или подчеркивание по вашему выбору,

getUserID(response,'Zahid Rahman')


function getUserID(response, fullname) {
  if (response && response.conversations && response.conversations.data) { //Check response is correct
    var conversations = response.conversations.data;                       //Get all conversations
    for (var j = 0; j < conversations.length; j++) {
      var conversationsParticipants = conversations[j].participants.data; 
      for (var k = 0; k < conversationsParticipants.length; k++) {         //Get all particiapnts of a single conversation.

        var conversationsParticipantsEach = conversationsParticipants[k];
        if (conversationsParticipantsEach.name === fullname) {             //Check fullname match or not
          console.log("Desired Facebook User ID : " + conversationsParticipants[k].id);
          return conversationsParticipants[k].id;     
        } 
      }
    }
  }
}

Надеюсь, это поможет вам.

Ответ 5

Это, вероятно, то, что вы хотите: https://developers.facebook.com/docs/apps/for-business

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