Получить идентификатор AADObject пользователя, упомянутого в боте Microsoft Teams - PullRequest
0 голосов
/ 19 марта 2020

Я занимаюсь разработкой бота Microsoft Teams с использованием Azure службы ботов, у меня есть сценарий использования, в котором мне нужно получить идентификатор объекта AAD @mentioned users и использовать этот идентификатор для получения других предприятий, указывающих c информацию о пользователе. Я попытался использовать API-объект GetMentions() объекта turnContext, который возвращает объект Учетная запись канала , однако свойство объекта AAD учетной записи канала пусто, хотя и имеет свойство Id, которое, по моему мнению, соответствует Bot Сервисный канал (Microsoft Teams) пользователь.

Учитывая мои исследования, кто-нибудь может сообщить мне, как получить идентификатор объекта AAD пользователя или указать нужную документацию?

1 Ответ

1 голос
/ 19 марта 2020

Вы можете получить идентификатор пользователя, используя Bot Context , используя идентификатор, который вы получаете от GetMentions (29: id). Пожалуйста, попробуйте этот код и сообщите нам, если у вас возникнут какие-либо проблемы:

  private static async Task<string> GetUserEmailId(Activity activity, string id)
    {
        var teamId = context.Activity.GetChannelData<TeamsChannelData>().Team.Id;
        ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl));
        var members1 = await connector.Conversations.GetConversationMembersAsync(teamId);
        var mem = members1.Where(m => m.Id == id).First().AsTeamsChannelAccount().ObjectId;
        return mem;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...