[英]Fetching user profile in Bot with MS Teams channel using node sdk v4
我正在为 node.js 使用 Microsoft Bot Framework SDK v3 和 v4。 我有一个 v3 bot 和一个 v4 bot,都带有 MS 团队频道,但我无法在 v4 bot 的 bot 代码中获取用户的个人资料详细信息。 (正是在寻找userprincipalname )
在 v3 中,我使用 TeamsChatConnector,它具有 fetchMembers() 可获取用户详细信息,但在 v4 中情况发生了变化。 它也被称为“获取团队名册”。 这是文档
在 v4 bot 中,有 BotFrameworkAdapter,它不特定于 MS 团队或任何其他渠道。 如果我检查活动对象,我可以从 'from' 属性中看到,它只有用户名:'lastName,First name' 和 AAD 对象 ID,而不是 userprincipalname,它通常是一个电子邮件地址。
如果用户使用 MS 团队频道,如何在 v4 BOT 代码中访问用户电子邮件地址或用户主体名称?
connector.fetchMembers(
(<builder.IChatConnectorAddress>session.message.address).serviceUrl,
conversationId,
(err, result) => {
if (err) {
session.endDialog('There is some error');
}
else {
session.endDialog('%s', JSON.stringify(result));
}
}
);
如果有人和我一样迷路,就离开这里。 您可以向 REST API 发出请求,以获取该信息。 在这里你可以看到端点
在这里你可以看到如何设置标题: 链接
结合两者,进行 GET 将返回团队聊天或 1:1 聊天中用户的上下文。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.