Я пытаюсь получить содержимое моей папки 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, но ничего из предложенных не изменило мой результат.