获得“权限不足,无法完成操作。”。 MS Graph Api

时间:2019-10-02 09:34:50

标签: azure-active-directory microsoft-graph

我在使用Microsoft Graph API时遇到问题。

  1. 我已经在Azure门户中注册了一个新应用
  2. 添加了Application.ReadWrite.All和Application.ReadWrite.OwnedBy应用程序权限
  3. 点击管理员同意按钮

empty

之后,我正尝试通过

获取访问令牌。
POST https://login.microsoftonline.com/12fb9222-8b6e-4006-a483-a87fa44621c3/oauth2/v2.0/token
client_id=dc07d452-9ce1-4b0f-a1a6-4fb5b230a4bb
scope=https://graph.microsoft.com/.default
grant_type=client_credentials
client_secret={client_secret}

我正在获取令牌。 令牌看起来像这样:

{
  "aud": "https://graph.microsoft.com",
  "iss": "https://sts.windows.net/12fb9222-8b6e-4006-a483-a87fa44621c3/",
  "iat": 1570007742,
  "nbf": 1570007742,
  "exp": 1570011642,
  "aio": "42VgYHi/n737QYBx8DrOTW5Ft0skAQ==",
  "app_displayname": "testapp",
  "appid": "dc07d452-9ce1-4b0f-a1a6-4fb5b230a4bb",
  "appidacr": "1",
  "idp": "https://sts.windows.net/12fb9222-8b6e-4006-a483-a87fa44621c3/",
  "oid": "24d9cd08-efaf-497b-b023-920cc208400a",
  "roles": [
    "Application.ReadWrite.OwnedBy",
    "Application.ReadWrite.All",
  ],
  "sub": "24d9cd08-efaf-497b-b023-920cc208400a",
  "tid": "12fb9222-8b6e-4006-a483-a87fa44621c3",
  "uti": "f38JDx5iw0Kkp16mnZIqAA",
  "ver": "1.0",
  "xms_tcdt": 1569224302
}

之后,我要执行

GET https://graph.microsoft.com/beta/applications/bb4c22ea-632e-45d8-ad0f-2ba39cf399c1

我正在获取应用程序属性。

最后我想更新我的应用程序属性,然后尝试执行

PATCH https://graph.microsoft.com/beta/applications/bb4c22ea-632e-45d8-ad0f-2ba39cf399c1
{
    "displayName": "displayName"
}

我得到了:

{
  "error": {
    "code": "Authorization_RequestDenied",
    "message": "Insufficient privileges to complete the operation.",
    "innerError": {
      "request-id": "1565bb72-8392-4ca7-bb20-02b40f5603bd",
      "date": "2019-10-02T09:23:57"
    }
  }
}

我很困惑。我拥有API更新应用程序的权限,但出现错误,请提供帮助。

1 个答案:

答案 0 :(得分:0)

这似乎是一个错误,我尝试使用客户端凭据并授予了Application.ReadWrite.All and Application.ReadWrite.OwnedBy权限。我遇到了与您相同的错误。

然后我尝试使用用户登录的委派权限进行操作,它可以正常工作。您可以按照此article进行操作,也可以仅使用Microsoft Graph explorer调用api。

enter image description here

注意:

  Microsoft Graph中/ beta版本下的

API可能会更改。   不支持在生产应用程序中使用这些API。