【问题标题】:Are There Azure AD App Perms Available for Microsoft Teams REST API是否有可用于 Microsoft Teams REST API 的 Azure AD 应用程序权限
【发布时间】:2018-01-31 23:28:28
【问题描述】:

我想开始使用Microsoft Teams APIs 的预览版进行一些开发。

我目前有一个使用 Azure AD v2 Endpoint 的解决方案,但我想获得一个使用 v1 Endpoint 的解决方案。

我在 Azure AD 门户中找不到任何可用的 Microsoft Teams 权限,并且我在 Known Issues Teams API 中没有看到任何关于此的具体内容。

谁能评论一下目前是否有任何使用应用程序注册的纯 v1 端点解决方案的选项?如果没有,有计划吗?

【问题讨论】:

  • 团队将在 Office 365 组之上创建。您可以使用 Teams 的组权限。如果您有特定情况,请告诉我们。请点击链接 (developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/…) 了解有关权限的更多信息
  • 谢谢斯里尼瓦斯,但你能说得更具体些吗?在 AAD v1 应用程序注册中,我尝试将 Microsoft Graph 作为 API 并将读取所有组作为委派权限,但每次尝试使用从 API 中描述的组端点获取的访问令牌时,我都会收到拒绝访问.当我使用 AAD v2 端点时,我可以让它使用相同的凭据,所以如果可能的话,我会尝试协调这两者。谢谢。

标签: microsoft-graph-api microsoft-teams


【解决方案1】:

v1 Endpoint 使用与 v2 Endpoint 相同的权限。两者之间的主要区别在于,v2 范围可以在身份验证期间动态请求,而 v1 端点需要在注册中预定义权限。

使用 Azure 门户时,Teams 的所有权限都显示在“Microsoft Graph”下。对于团队,您通常需要 User.ReadGroup.ReadWrite.All。 Azure 门户按描述列出权限(尽管您可以在工具提示中看到基础范围名称):

  • 登录并阅读用户个人资料 (user.read)
  • 读写所有组 (Group.ReadWrite.All)

请注意,Group.ReadWrite.All 确实需要管理员同意。在您对普通用户进行身份验证之前,您首先需要让管理员通过Admin Consent 流程。

【讨论】:

  • 好的,谢谢马克。我确实有 User.Read(默认为所有新的 aad v1 应用程序添加),但我一直在使用 Read All Groups。我将尝试读写所有组,看看是否有所作为。感谢您的帮助。
【解决方案2】:

我将其发布为答案,因为我很确定这会绊倒其他开发人员。到目前为止,在获取使用 Microsoft Graph 的 AAD v1 应用程序的访问令牌时,您使用“https://graph.windows.net”作为资源 ID。互联网上到处都是这个例子,我在自己的代码中有它,用于 OneNote 和其他服务。

现在使用 Graph 端点连接到 Teams(可能还有其他东西),您需要使用的资源 ID 是“https://graph.microsoft.com”。刚刚使用具有 Microsoft Graph API 和读取所有组权限的 AAD v1 应用程序进行了快速测试。我确信某些 MSFT 人员的解释可能是有道理的,但经过数小时的网络搜索后,我还没有找到它。

希望这对某人有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-14
    相关资源
    最近更新 更多