繁体   English   中英

使用 node sdk v4 通过 MS Teams 通道在 Bot 中获取用户配置文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM