age*_*q15 3 c# botframework microsoft-teams
我正在使用 C# 和 Bot Framework SDK4,需要从与我的机器人的 1:1 聊天中获取用户电子邮件。是否可以?我能得到的似乎只有身份证和全名。
我已经尝试了此处列出的内容https://learn.microsoft.com/en-us/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;
Run Code Online (Sandbox Code Playgroud)
那么是否有可能从与机器人聊天的当前用户那里获取用户电子邮件?
你可以!根据文档,您只需执行与获取团队名册相同的操作,但使用对话 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 );
Run Code Online (Sandbox Code Playgroud)
注意:我尝试使用该Microsoft.Bot.Connector.Teams
包来执行此操作,但无法使其工作。只好用connector
上面的方法了。
归档时间: |
|
查看次数: |
4196 次 |
最近记录: |