Запрос файла Microsoft Graph API не возвращает файлы - PullRequest
3 голосов
/ 27 мая 2020

Я пытаюсь получить содержимое моей папки OneDrive для бизнеса и содержимое документа Excel с помощью Javascript SDK. Когда я тестирую запрос в Graph Explorer, он правильно извлекает содержимое папки или файла. Когда я делаю тот же запрос к Javascript API, моя root папка пуста, и файлы не могут быть получены даже по идентификатору (ошибка 404).

По большей части я следил за началом работы tutorial , просто изменил запрос на сбор файлов вместо событий календаря. Я установил приложение в Azure и предоставил ему разрешения Microsoft Graph для User.Read, Files.Read, Files.Read.All и Files.Read.Selected. Другие настройки описаны в руководстве Регистрация приложения .

В Graph Explorer:

https://graph.microsoft.com/v1.0/me/drive/root/children
https://graph.microsoft.com/v1.0/me/drive/items/{item_ID}/workbook/tables('1')/rows

Правильно возвращает содержимое root и содержимое листа Excel соответственно.

Но когда я пробую это в JavaScript:

const graphClient = MicrosoftGraph.Client.initWithMiddleware({ authProvider });
let request = await graphClient.api("/me/drive/root/children").get();
console.log(request);

(URL-адрес запроса выглядит следующим образом: https://graph.microsoft.com/v1.0/me/drive/root/children)

результат:

@odata.context: "https://graph.microsoft.com/v1.0/$metadata#users('{my user ID}')/drive/root/children"
value: Array(0)

Я пробовал:

  • Обращение к диску по его идентификатору (тот же результат)
  • Ссылка на файл по идентификатору (ошибка 404)
  • Получение моих пользовательских данных (правильно извлечено)
  • Подготовленное приложение с Sites.Read.All, затем изменение запроса на go через хранилище SharePoint "/sites/" + siteId + "/drives/" + driveId + "/root/children" (тот же результат)

Я подозреваю, что просто неправильно структурирую свой запрос, пропустил что-то жизненно важное при подготовке приложения или просто не понимаю, где OneDrive для бизнеса хранит свои файлы. Я следил за всеми подобными вопросами, которые я нашел здесь, в Stack Overflow, но ничего из предложенных не изменило мой результат.

...