Можно ли получить электронную почту пользователя от MS Teams с ботом, используя SDK4? - PullRequest
0 голосов
/ 07 июля 2019

Я использую C # и Bot Framework SDK4 и мне нужно получить электронную почту пользователя из чата 1: 1 с моим ботом. Является ли это возможным? Все, что я могу получить - это имя и полное имя.

Я пробовал перечисленные здесь вещи https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/bots/bots-context но командаконтекст просто возвращает ноль.

ITeamsContext teamsContext = turnContext.TurnState.Get<ITeamsContext>();

string incomingTeamId = teamsContext.Team.Id;
string incomingChannelid = teamsContext.Channel.Id;
string incomingTenantId = teamsContext.Tenant.Id;

Так возможно ли даже получить электронное письмо от текущего пользователя, общающегося с ботом?

1 Ответ

1 голос
/ 08 июля 2019

можно!Для документов вы просто делаете то же самое, как если бы вы получали список команд, но вместо этого используете идентификатор разговора.Например:

var credentials = new MicrosoftAppCredentials("<yourAppId>", "<yourAppPassword>");
var connector = new ConnectorClient(new Uri(turnContext.Activity.ServiceUrl), credentials);
var conversationId = turnContext.Activity.Conversation.Id;
var userInfo = await connector.Conversations.GetConversationMembersAsync(conversationId );

Примечание. Я попытался использовать пакет Microsoft.Bot.Connector.Teams, но не смог заставить его работать.Пришлось использовать метод connector выше.

...