botframework - 如何通过 REST API 为连接到 Microsoft Teams 频道的机器人获取机器人 ID 和用户 ID
问题描述
我们使用Microsoft bot
框架并且需要通过 REST API 从外部应用程序(在不同的环境中运行,例如本地)向连接到 Microsoft Teams 通道的机器人发送消息。以下 REST API 有助于创建对话
- API:https ://smba.trafficmanager.net/amer/v3/conversations
- 授权:承载令牌(使用的令牌端点: https ://login.microsoftonline.com/botframework.com/oauth2/v2.0/token )
- POST 请求正文在这里:
{
"bot": {
"name": "someBot",
"id": "xxx-some-bot-id"
},
"members": [
{
"name": "some user",
"id": "xxx-some-user-id"
}
],
"channelData": {
"tenant": {
"id": "xxx-some-teanant-id"
}
},
}
此 API 返回的 id 稍后可用于通过以下方式发送消息/v3/conversations/{id}
这里有几个问题:
是否有任何 REST API 可用于获取上述有效负载中使用的成员 ID(用户 ID)和机器人 ID?换句话说,外部应用程序如何在进行 API 调用时读取这两个内部 Id 以供使用?在 Bot API 文档页面中找不到合适的 API:Bot Framework REST API
对于上述情况,是否有办法通过 REST API 获取租户 ID?(我知道可以从 Teams 应用程序 URL 中读取)
谢谢
解决方案
基本上不,您不能从 Teams 外部检索 ID(出于隐私/垃圾邮件预防的原因)。您的机器人将通过以下几种方式接收它们:
在个人环境中安装时,您的机器人将收到 membersAdded 类型的消息,其中包含必要的信息。
如果您的机器人安装在该人所属的团队中,您可以检索该团队的名册,其中也包含必要的信息。
推荐阅读
- java-6 - ActiveMQ Artemis client on Java 1.6
- c# - C# 使用 ms-acess 数据库登录,登录信息取自 3 个表
- javascript - Javascript 在下拉菜单上更改图像 - 缺少图像
- macos - 如何在 AppleScript 中添加当前月份?
- c - 如何从 getchar fn 读取 2 位整数?
- c++ - 通过 Flutter 从 C++ 插件访问资产
- typescript - Twilio - SMS 西班牙口音
- ssl - 如何在 Postman 中使用自签名证书?
- python - 您如何在 Django 中正确模拟第 3 方模块
- delphi - 如何防止 FastReport 在故意关闭数据集时打开它们?