根据AAD ID检索团队用户ID。

问题描述 投票:1回答:1

我正在尝试启动一个预定的主动对话(机器人在预定时间发起对话)。我设法根据Graph API获得了用户的AAD ID,但它与Teams的用户ID不匹配。为了获得正确的ID,我尝试了2个多小时,但我想不出如何获得。我应该采取什么方法才好?

azure botframework bots microsoft-teams azure-ad-graph-api
1个回答
0
投票

我很好奇你是如何尝试 "匹配 "这些的?在任何情况下,我不认为它们打算以任何方式匹配起来(adObjectId Guid和 "29:... "用户ID)。因此,你应该在你这边存储一个映射(数据库或类似的)。你需要存储ServiceUrl和ConversationId,无论如何都要做主动消息传递,所以只要把userid也加上就可以了。


1
投票

请看一下微软的Graph api。获取聊天ID.

当为用户安装应用程序时,机器人将获得接收对话Update事件,该事件将包含它发送主动消息的必要信息。更多信息,请看机器人事件。

如果你丢失了chatThreadId,你可以通过调用再次找到它。

GET /users/{user-id}/chats?$filter=installedApps/any(a:a/teamsApp/id eq '{teamsAppid}')

然而,这只适用于个人范围!我的建议是,确保你抓住了 conversationUpdate 在安装后触发,并将用户的详细信息保存在数据库中。

© www.soinside.com 2019 - 2024. All rights reserved.