Microsoft Team Graph API 应用程序的最佳解决方案

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

我正在创建一个图形 API 应用程序,用于将消息发送到 Microsoft Teams 中的个人聊天和群聊。

范围:个人资料、openid、电子邮件、ChannelMessage.Send、Chat.Create、Chat.ReadWrite 和 User.Read

我已在我的 Azure Entra ID (AAD) 中注册并配置了该应用程序(如租户 A)。要在外部租户(例如租户B)中使用该应用程序,该应用程序需要管理员同意和用户同意。

对于管理员同意,我将以下链接分享给租户B的管理员,并要求管理员授予同意:

https://login.microsoftonline.com/common/adminconsent?client_id=&sso_reload=true

后来,我要求租户 B 的管理员使用以下链接创建用户并授予权限,以便我可以代表创建的用户向 Microsoft Teams 中的个人/群组聊天发送消息。

https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize?response_type=code&client_id=&response_mode=query&scope=https://graph.microsoft.com/.default

创建的用户向应用程序授予权限后,我会收到一个授权代码,从中生成访问令牌。访问令牌后来用于发送适当的图形 API 请求,我能够发送消息。

我想知道我提到的方法是否符合标准做法。另外,为了共享链接,我正在考虑创建一个带有两个嵌入链接的按钮的 Web 应用程序。

问题

  1. 是否有更好的方法来授予管理员同意和用户同意,而不是共享并要求管理员/用户单击链接。

  2. 由于应用程序将向 Microsoft Teams 发布消息,我可以创建一个静态选项卡应用程序,其 URL 指向 Web 应用程序,该应用程序将具有一个包含以上按钮形式链接的页面。

  3. 是否需要在外部租户(tenantB)中创建一个用户来代表我们发送消息?我曾考虑创建一个机器人,但放弃了这个想法,因为在我的情况下,通信是单向的。

microsoft-graph-api microsoft-teams microsoft-graph-sdks microsoft-graph-teams
1个回答
0
投票

请在下面找到您的疑问的答案:

  1. 是的,您可以在应用程序中创建按钮并在其中添加链接: 参考样本: https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/graph-teams-tag/nodejs/client/src/components/dashboard.jsx#L72

    https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/graph-teams-tag/nodejs/client/src/components/dashboard.jsx#L175

    或者你可以参考这个: https://github.com/formulahendry/Microsoft-Teams-Samples/blob/main/samples/app-anonymous-users/csharp/ClientApp/src/components/shareview.jsx#L291

  2. 是的,如果需要,您也可以创建静态选项卡。

  3. 不必在不同租户(TenantB)中创建用户,您也可以在租户 A 中设置策略。

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