MS Graph API 身份验证 | MS 团队 |机器人框架
MS Graph API Authentication | MS Teams | Bot framework
我是机器人开发的新手。我正在使用机器人框架创建一个 MS Teams 机器人。该机器人将安装在 Teams 的“个人”范围内,并且没有任何选项卡/消息扩展等。安装后,我想获取所有成员/频道/通知更新的列表(即成员 added/deleted 等)。根据不同的文档,我可以使用 Graph API.
获取列表
- List members of team - Microsoft Graph v1.0 | Microsoft Docs
- List members of a channel - Microsoft Graph v1.0 | Microsoft Docs
为此,我需要将在 API 中传递的令牌。我不确定如何实施。我已按照 Add authentication to a bot in Bot Framework SDK - Bot Service | Microsoft Docs 中提到的说明进行操作。有一个添加“添加 OAuth 连接设置”的步骤,并且“服务提供商”中有多个选项。我选择了“Azure Active Directory v2”。这样做之后,它就可以工作了,我可以获得令牌,但只有在登录期间我使用我的 azure 目录凭据时它才有效。我有一个与我的 MS Teams 关联的 Microsoft 帐户,它的 ID 与 Azure 帐户不同。团队中的用户可以拥有 Microsoft 帐户/工作/办公室帐户,因此这需要对每个人都有效,那么适用于所有帐户的正确“服务提供商”选项是什么?
我在想流程应该是这样的:
- 当点击“添加”按钮在 Teams 中安装应用程序时
- 添加后,bot 将使用 OAuth 提示 Graph API 权限。
- 一旦用户授予权限,我就可以使用令牌调用图APIs。
我还看过以下教程:
- How to use Bot Framework Composer to build low-code Microsoft Teams bots (Part 1)
- Get user profile information in your Microsoft Teams bot with Microsoft Graph (Part 2) - YouTube
但是在执行完所有步骤后,当我尝试登录时,它说 – “由于该应用程序不存在或已被卸载,因此无法执行此操作。”。
我没有得到关于如何进行的明确方法。
正如@Maxim 还建议的那样,如果您想要一个应该 运行 多租户的机器人,您需要在 Azure 机器人的 OAuth 设置中将租户 ID 作为 common
。正如该值所暗示的那样,它不会特定于单个租户,并且应在应用程序注册中将重定向 Uri 设置为 https://token.botframework.com/.auth/web/redirect
。
就是这样,您不需要添加任何内容。
文档中也提到了这一点——
我们也有一些示例,展示了如何将 Graph API 与机器人一起使用 -
您可以设置这个并更新图表调用以获取团队或频道的成员。
我是机器人开发的新手。我正在使用机器人框架创建一个 MS Teams 机器人。该机器人将安装在 Teams 的“个人”范围内,并且没有任何选项卡/消息扩展等。安装后,我想获取所有成员/频道/通知更新的列表(即成员 added/deleted 等)。根据不同的文档,我可以使用 Graph API.
获取列表- List members of team - Microsoft Graph v1.0 | Microsoft Docs
- List members of a channel - Microsoft Graph v1.0 | Microsoft Docs
为此,我需要将在 API 中传递的令牌。我不确定如何实施。我已按照 Add authentication to a bot in Bot Framework SDK - Bot Service | Microsoft Docs 中提到的说明进行操作。有一个添加“添加 OAuth 连接设置”的步骤,并且“服务提供商”中有多个选项。我选择了“Azure Active Directory v2”。这样做之后,它就可以工作了,我可以获得令牌,但只有在登录期间我使用我的 azure 目录凭据时它才有效。我有一个与我的 MS Teams 关联的 Microsoft 帐户,它的 ID 与 Azure 帐户不同。团队中的用户可以拥有 Microsoft 帐户/工作/办公室帐户,因此这需要对每个人都有效,那么适用于所有帐户的正确“服务提供商”选项是什么?
我在想流程应该是这样的:
- 当点击“添加”按钮在 Teams 中安装应用程序时
- 添加后,bot 将使用 OAuth 提示 Graph API 权限。
- 一旦用户授予权限,我就可以使用令牌调用图APIs。
我还看过以下教程:
- How to use Bot Framework Composer to build low-code Microsoft Teams bots (Part 1)
- Get user profile information in your Microsoft Teams bot with Microsoft Graph (Part 2) - YouTube
但是在执行完所有步骤后,当我尝试登录时,它说 – “由于该应用程序不存在或已被卸载,因此无法执行此操作。”。
我没有得到关于如何进行的明确方法。
正如@Maxim 还建议的那样,如果您想要一个应该 运行 多租户的机器人,您需要在 Azure 机器人的 OAuth 设置中将租户 ID 作为 common
。正如该值所暗示的那样,它不会特定于单个租户,并且应在应用程序注册中将重定向 Uri 设置为 https://token.botframework.com/.auth/web/redirect
。
就是这样,您不需要添加任何内容。
文档中也提到了这一点——
我们也有一些示例,展示了如何将 Graph API 与机器人一起使用 -
您可以设置这个并更新图表调用以获取团队或频道的成员。