Office365 graph api получить onedrive для бизнес-идентификатора вернуть itemNotFound - PullRequest
0 голосов
/ 18 марта 2020

Я хочу использовать Graph API, чтобы получить чью-то поддержку для размера бизнес-файла.
Сначала мне нужно получить идентификатор диска пользователя, но когда я использую скрипт ниже, чтобы получить идентификатор диска, возвращаемый элемент не найден.
У учетной записи есть onedrive для бизнес-лицензии.
И API, назначенный ниже разрешений.
AllSites.Read
Files.Read
Files.Read.All
Files.ReadWrite
Files.ReadWrite.All
Sites.Read.All
Sites.ReadWrite.All
Sites.Search.All
User.Read
User.Read.All
User.ReadWrite.All

$url = "https://graph.microsoft.com/v1.0/users/xxx@domain.com/drive"
$myReport2 =Invoke-RestMethod -UseBasicParsing -Headers $headerParams -Uri $url -Method Get -Verbose
Invoke-RestMethod : {
  "error": {
    "code": "itemNotFound",
    "message": "The resource could not be found.",
    "innerError": {
      "request-id": "c0e7fd32-169e-4167-90d4-7adc3947cfda",
      "date": "2020-03-18T07:09:22"
    }
  }
}

1 Ответ

0 голосов
/ 23 марта 2020

Это график API по проблеме дизайна.
Только администратор сайта Onedrive может использовать graph api для получения информации о файле onedrive.
Используйте приведенную ниже команду, добавьте пользователя Graph API к администратору сайта onedrive.

$SiteUrl = "https://tenant-my.sharepoint.com/personal/username_domain_com/"
connect-sposervice -Url "https://tenant-admin.sharepoint.com/" -Credential Get-Credential
$sSecondaryODFBAdmin ="graphapi@tenant.onmicrosoft.com"
Set-SPOUser -Site $SiteUrl -LoginName $sSecondaryODFBAdmin -IsSiteCollectionAdmin $true
...