我正在使用Microsoft Bot Framework SDK v3和v4(用于node.js)。我有一个v3 bot和一个v4 bot,都具有MS团队频道,但是我无法在v4 bot的bot代码中获取用户的个人资料详细信息。 (正是在寻找userprincipalname)
在v3中,我使用的是TeamsChatConnector,它具有fetchMembers()来获取用户详细信息,但是v4中的情况有所变化。它也被称为“获取团队名册”。 这是documentation
在第4版漫游器中,有BotFrameworkAdapter,它不是特定于MS团队或任何其他渠道的。如果我检查活动对象,则可以从“发件人”属性中看到它仅具有用户名:“ lastName,First name”,并且 AAD对象ID,但不是userprincipalname,通常是电子邮件地址。
如果用户正在使用MS Team频道,如何在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));
}
}
);
答案 0 :(得分:0)
如果有人像我一样迷路,就把它留在这里。您可以向REST API发出请求,以获取该信息。 Here you can see the endpoint
在这里您可以看到如何设置标题:Link
将两者结合在一起进行GET会以团队聊天或1:1聊天的方式返回用户的上下文。