Получение информации о пользователях от команд с помощью Bot framework composer

#azure-application-insights #bot-framework-composer

#azure-application-insights #bot-framework-composer

Вопрос:

Я создал бота с помощью bot framework composer и интегрировал его с MS Teams с помощью веб-приложения azure. Теперь мне нужно получить информацию о пользователе для входа в систему (MS Team), то есть о пользователе, использующем бота. Мне нужно получить информацию о пользователе и зарегистрировать ее в Azure application insights с помощью Bot Framework Composer.

Кто-нибудь может мне помочь с этим?

Ответ №1:

  1. Получить идентификатор пользователя из $ {turn.activity.aadObjectId}
  2. Получение дополнительной информации о пользователях с помощью Microsoft Graph: https://learn.microsoft.com/en-us/graph/api/user-get?view=graph-rest-1.0amp;tabs=http

Ответ №2:

В MS Teams при каждом новом взаимодействии с ботом сначала боту отправляется «действие обновления беседы», это то, что запускает приветственное приветствие. Вы получаете следующий контекст в возвращенном JSON — в свою очередь.Область действия памяти.

 ...snip... 

   "serviceUrl":"https://smba.trafficmanager.net/emea/",
   "channelId":"msteams",
   "from":{     
      "id":"<<Unique MS Teams Identifier for the end user>>",
      "name":"<<AAD firstname surname is returned here>>",
      "aadObjectId":"<<GUID is returned here>>",
      "role":"user"
   },

...snip... 

  

Вы можете использовать aadObjectId для запроса MS Graph с помощью HttpRequest, если хотите получить дополнительную информацию. Или просто используйте поле persons «name» (которое из AAD), если этого достаточно.