问题描述
我已经使用Bot Framework Composer创建了一个Bot,并在azure Web应用程序的帮助下将其与MS Teams集成。 现在,我需要获取登录用户(MS小组)信息,即使用漫游器的用户。 我需要获取用户信息,并使用Bot Framework Composer 将其记录在Azure应用程序见解中。
有人可以帮我吗?
解决方法
- 从$ {turn.activity.aadObjectId}获取用户ID
- 通过Microsoft Graph获取更多用户信息:https://docs.microsoft.com/en-us/graph/api/user-get?view=graph-rest-1.0&tabs=http
在MS团队中,与机器人的每次新交互都会首先向机器人发送“对话更新活动”,这会触发欢迎消息。您可以在Turn.Activity内存范围中返回返回的JSON中的以下上下文。
...snip...
"serviceUrl":"https://smba.trafficmanager.net/emea/","channelId":"msteams","from":{
"id":"<<Unique MS Teams Identifier for the end user>>","name":"<<AAD firstname surname is returned here>>","aadObjectId":"<<GUID is returned here>>","role":"user"
},...snip...
如果要获取更多信息,可以使用aadObjectId通过HTTPRequest查询MS Graph。或者,只要使用人员的“姓名”字段(来自AAD)就足够了。