如何通过 Azure AD API 禁用教师许可证中的特定应用程序?

How to disable specific apps in a faculty license by Azure AD API?

我正在使用 REST Azure AD API 来禁用用户的某个应用程序。已生效的许可证是教职员工的 Office 365 A1,我要禁用的产品是 Sway(这只是一个测试)。

根据documentation,我所要做的就是post到/users/XXX/assignLicense包含以下JSON内容:

{
    "addLicenses":[{
        "disabledPlans": ["a23b959c-7ce8-4e57-9140-b90eb88a9e97"],
        "skuId":"94763226-9b3c-4e75-a931-5c89701abe66"
    }]
}

Sway 的 GUID 是从 Product names and service plan identifiers for licensing 中获悉的。 SkuId 与创建用户和获得许可时使用的相同。

有问题的用户是通过使用 REST API 调用创建的,所以我很确定访问令牌检索和相关内容的部分是正确的。

但是,我总是收到 HTTP 错误 400(错误请求),但没有详细说明错误。

有什么想法吗?

您错过了一个必需的参数:removeLicenses。

请试试这个:

{
  "addLicenses": [
    {
      "disabledPlans": [
        "a23b959c-7ce8-4e57-9140-b90eb88a9e97"
      ],
      "skuId": "94763226-9b3c-4e75-a931-5c89701abe66"
    }
  ],
  "removeLicenses": []
}

更新

正如我们在评论中讨论的那样,使用 Microsoft Graph Explorer 获取详细的错误消息。并在 Microsoft Graph 资源管理器中重新配置所需的权限以使其正常工作。