【问题标题】:How get user email from MS Teams with a Bot using SDK4?如何使用 SDK4 从带有 Bot 的 MS Teams 获取用户电子邮件?
【发布时间】:2021-03-05 10:01:37
【问题描述】:
我们在 MS-Teams 频道上部署了我们的机器人应用程序,因此出于授权目的,我们需要 MSTeams 登录用户的 emailId,所以最初,我们面临从获取 emailId 的问题活动对象。经过分析,我们找到了一种解决方案,即 emailId 将使用 C# 从 ms-bot v4 中的 BotFrameworkAdapter 类中获取
【问题讨论】:
标签:
c#
botframework
chatbot
microsoft-teams
【解决方案1】:
Private async Task GetUserProfile(TurnContext context,CancellationToken cancellationToken)
{
BotFrameworkAdapter botAdapter = (BotFrameworkAdapter)context.Adapter;
var conversation = await botAdapter.GetConversationMembersAsync(context, cancellationToken);
}
我们将从 conversation 变量中得到以下响应
{
"id": "UserConversationId",
"name": "用户全名",
“aadObjectId”:空,
“角色”:空,
"objectId": "对象 ID",
"givenName": "名字",
“姓”:“姓氏”,
"email": "OrganizationEmailId",
"userPrincipalName": "UserPrincipalName",
"tenantId": "租户Id",
“成员角色”:“用户”
}