使用SDK4是否可以从带有Bot的MS Teams获得用户电子邮件?

我正在使用C#和Bot Framework SDK4,需要通过与我的机器人进行1:1聊天来获取用户电子邮件。可能吗?我似乎只能得到ID和全名。

我已经尝试了这里列出的东西https://docs.microsoft.com/zh-cn/microsoftteams/platform/concepts/bots/bots-context, 但是teamContext仅返回null。

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

string incomingTeamId = teamsContext.Team.Id;

string incomingChannelid = teamsContext.Channel.Id;

string incomingTenantId = teamsContext.Tenant.Id;

那么,甚至有可能从与机器人聊天的当前用户那里获取用户电子邮件吗?

C# 机器人框架 微软团队

回答:

您可以!根据文档 ,您的操作与获取团队花名册的方法相同,但是使用对话ID。例如:

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上面的方法。

以上是 使用SDK4是否可以从带有Bot的MS Teams获得用户电子邮件? 的全部内容, 来源链接: utcz.com/qa/423072.html

回到顶部