【问题标题】:Tenant does not have a SPO license when using Microsoft Graph API with Application Permissions使用具有应用程序权限的 Microsoft Graph API 时,租户没有 SPO 许可证
【发布时间】:2019-12-04 09:21:31
【问题描述】:

当我们尝试访问 Microsoft Graph v1.0 API 中的 Sharepoint-endpoints 时,我们收到 400 错误消息“租户没有 SPO 许可证”。

我们已经注册了我们的 Azure AD 应用程序并为相关端点分配了应用程序权限(而不是委托),因为我们需要访问端点服务器到服务器(即在经过身份验证的用户的上下文之外)。

租户已连接到 Office 365 商业版订阅,我们可以将其分配给用户,但在这种情况下,租户是目录本身,我们不知道如何为其分配订阅。

似乎很少有关于此的宝贵信息,其中大部分适用于委派权限场景。

任何帮助将不胜感激。

【问题讨论】:

    标签: azure-active-directory microsoft-graph-api sharepoint-online


    【解决方案1】:

    如果您已购买 O365 商业订阅,您可能仍需要为特定 AAD 用户/O365 用户分配 SPO (SharePoint Online) 许可证。

    使用您的管理员帐户登录 O365 admin center 并选择一个用户并分配 SPO 许可证。

    单击“编辑”后,您可以选择一个 SharePoint 许可证以将其分配给用户。

    【讨论】:

    • 是的,我们知道这一点,但这里的问题是对 Graph-API 的查询不是在特定用户的上下文中,而是在 AzureAD 应用程序本身的上下文中。据我所知,Oauth2 中的经典模拟不是一种选择,因为它不支持“代表”,即。如果我们要更改为委派权限并为此创建一个服务用户,它将继承应用程序本身的权限。
    • 您呼叫的是哪个端点?请分享 API 文档。
    • @JørgenT 您有哪个 O365 订阅计划?它是否包括 SharePoint 服务?或者你也可以登录developer.microsoft.com/en-us/graph/graph-explorer调用GET https://graph.microsoft.com/v1.0/sites/root看是否返回200 OK响应。
    • 租户已连接到包含 Sharepoint 的 O365 E3 计划,因此我们可以将订阅分配给目录中的用户。
    猜你喜欢
    • 2019-12-24
    • 2020-09-26
    • 1970-01-01
    • 2020-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-24
    相关资源
    最近更新 更多