Не авторизован при вызове getOneDriveActivityFileCounts - PullRequest
0 голосов
/ 06 ноября 2018

Я пытаюсь получить доступ к отчету об активности файла OneDrive

/v1.0/reports/getOneDriveActivityFileCounts(period='D7')

но я всегда получаю следующую ошибку:

{
  "error": {
    "code": "S2SUnauthorized",
    "message": "Invalid scope claims/roles.",
    "innerError": {
      "request-id": "9bcd8f9c-7422-4721-9b48-eb49429f39c7",
      "date": "2018-11-06T10:40:05"
    }
  }
}

Я проверил официальную документацию Microsoft и там говорится, что роль Reports.Read.All требуется, но я все равно получаю ошибку, даже если она у меня есть.

Я прекрасно могу взаимодействовать с другими ресурсами / сегментами API, поэтому это не проблема авторизации (я использую авторизацию приложений с правами администратора).

Похоже, я не могу получить доступ к любому отчету ... какие-либо идеи? спасибо

Редактировать: добавление токена (просрочено)

eyJ0eXAiOiJKV1QiLCJub25jZSI6IkFRQUJBQUFBQUFDNXVuYTBFVUZnVElGOEVsYXh0V2pUUl9UZHVmVVhQYXRBa2J4NE9CbDFCd0VYV1hGRWMtc1hrZXRncV9CM240LWY4c1AtV3piUFhMWWlhU0ZlYUJyOWVWRUhlN05KQUJLSmZyMnFuWGNDZGlBQSIsImFsZyI6IlJTMjU2IiwieDV0Ijoid1VMbVlmc3FkUXVXdFZfLWh4VnRESkpaTTRRIiwia2lkIjoid1VMbVlmc3FkUXVXdFZfLWh4VnRESkpaTTRRIn0.eyJhdWQiOiJodHRwczovL2dyYXBoLm1pY3Jvc29mdC5jb20iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC8wMGE4MzEzMi00MjIxLTQ2OTgtYTc4Ny02ZDY3OWQ1NTdhOTAvIiwiaWF0IjoxNTQxNDk4OTA4LCJuYmYiOjE1NDE0OTg5MDgsImV4cCI6MTU0MTUwMjgwOCwiYWlvIjoiNDJSZ1lGaTlybC9wcXFIK3VvbWlpY1VKdC8xdUFnQT0iLCJhcHBfZGlzcGxheW5hbWUiOiJEYW50ZSAoSW50aXZlLmNvbSkiLCJhcHBpZCI6IjJkNmY0MzJiLTFjMTAtNDkwYy05NDkwLWRhNzk1Njg5M2U1YiIsImFwcGlkYWNyIjoiMSIsImVfZXhwIjoyNjI4MDAsImlkcCI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0LzAwYTgzMTMyLTQyMjEtNDY5OC1hNzg3LTZkNjc5ZDU1N2E5MC8iLCJvaWQiOiJlNTc3N2NmNC00MTMxLTQwMjEtOWU2MC1lMDNkODMyZjljZjEiLCJyb2xlcyI6WyJQZW9wbGUuUmVhZC5BbGwiLCJHcm91cC5SZWFkLkFsbCIsIkVkdUFkbWluaXN0cmF0aW9uLlJlYWQuQWxsIiwiRmlsZXMuUmVhZFdyaXRlLkFsbCIsIkRpcmVjdG9yeS5SZWFkLkFsbCIsIlVzZXIuUmVhZC5BbGwiLCJGaWxlcy5SZWFkLkFsbCJdLCJzdWIiOiJlNTc3N2NmNC00MTMxLTQwMjEtOWU2MC1lMDNkODMyZjljZjEiLCJ0aWQiOiIwMGE4MzEzMi00MjIxLTQ2OTgtYTc4Ny02ZDY3OWQ1NTdhOTAiLCJ1dGkiOiJyVHFSdnRKMDhFQ0Nhbk9oN0ZNV0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjE0NDI0MDMyOTJ9.KF1i203xJ9nCXeminHCSrjuYjSuFzgQ9aJK-XkvTxXQLUm66qYBotUmwQU5F8GmLMAB2lXwYq-ZNNvGvLY8IvjtVKk0VWqfz5QKCK4LSjZKAo1hTtdNGOGOHmn5uPgl7_iAxf8qBOtnVI1-yh8GM8QaxBRq48LXNRvz4punH2ItdGdKDSgOevDP75umRmz7gTJHY1c_PDipKiMBrxJKJSFp3fusraX981yCS0vYg2hi2djNy5Pj314a99wpre6f0L6HyEWmFLY4OGpSNFFn1H_Hu5iaFXn4b6BtpQN3NOhbsVwrfLq7qrOkJ4GkvOfU3O60dzPUeUWRSR13SenCbSQ

1 Ответ

0 голосов
/ 07 ноября 2018

На основании предоставленного вами токена вы не получаете разрешение Reports.Read.All. Это декодированный токен:

{
  "typ": "JWT",
  "nonce": "AQABAAAAAAC5una0EUFgTIF8ElaxtWjTR_TdufUXPatAkbx4OBl1BwEXWXFEc-sXketgq_B3n4-f8sP-WzbPXLYiaSFeaBr9eVEHe7NJABKJfr2qnXcCdiAA",
  "alg": "RS256",
  "x5t": "wULmYfsqdQuWtV_-hxVtDJJZM4Q",
  "kid": "wULmYfsqdQuWtV_-hxVtDJJZM4Q"
}.{
  "aud": "https://graph.microsoft.com",
  "iss": "https://sts.windows.net/00a83132-4221-4698-a787-6d679d557a90/",
  "iat": 1541498908,
  "nbf": 1541498908,
  "exp": 1541502808,
  "aio": "42RgYFi9rl/pqqH+uomiicUJt/1uAgA=",
  "app_displayname": "Dante (Intive.com)",
  "appid": "2d6f432b-1c10-490c-9490-da7956893e5b",
  "appidacr": "1",
  "e_exp": 262800,
  "idp": "https://sts.windows.net/00a83132-4221-4698-a787-6d679d557a90/",
  "oid": "e5777cf4-4131-4021-9e60-e03d832f9cf1",
  "roles": [
    "People.Read.All",
    "Group.Read.All",
    "EduAdministration.Read.All",
    "Files.ReadWrite.All",
    "Directory.Read.All",
    "User.Read.All",
    "Files.Read.All"
  ],
  "sub": "e5777cf4-4131-4021-9e60-e03d832f9cf1",
  "tid": "00a83132-4221-4698-a787-6d679d557a90",
  "uti": "rTqRvtJ08ECCanOh7FMWAA",
  "ver": "1.0",
  "xms_tcdt": 1442403292
}.[Signature]

Обратите внимание, что он включает только следующие роли (также известные как области действия):

  • People.Read.All
  • Group.Read.All
  • EduAdministration.Read.All
  • Files.ReadWrite.All
  • Directory.Read.All
  • User.Read.All
  • Files.Read.All

Чтобы получить доступ к /getOneDriveActivityFileCounts, вам нужно добавить Reports.Read.All к регистрации вашего приложения.

Также важно отметить, что простое добавление его к регистрации не предоставит это разрешение приложению. Вы также должны получить Административное согласие , прежде чем запрошенные области будут активированы. Всякий раз, когда вы добавляете / удаляете область из регистрации, , вы должны повторить процесс согласия администратора .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...