Мое приложение использует client_credentials и успешно использует API-интерфейс Graph для большинства вызовов.
Однако я пытался получить изображения из папки sharepoint по пути и имени файла:
https://graph.microsoft.com/v1.0/drive/root:/sites/folder1/folder2/folder3/folder4/photo.jpg
Устанавливаются соответствующие заголовки (авторизация и принятие).
httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + session["access_token"]);
httpClient.DefaultRequestHeaders.Add("accept", "application/json; odata.metadata=minimal");
Запрос возвращает ответ 404. - Не найдено.
Когда я перехожу на наш сайт sharepoint, я могусм. изображение в порядке, поэтому я могу только предположить, что путь к файлу правильный:
https://ourcompany.sharepoint.com/sites/folder1/folder2/folder3/folder4/photo.jpg
Извинения, но я новичок в Graph API и не могу найти ничего, ссылающегося на это в документации:
https://docs.microsoft.com/en-us/graph/api/resources/onedrive?view=graph-rest-1.0
Путь
/ me / диск / root: / путь / к / файлу
Ресурс Доступ к DriveItem попуть относительно корневой папки OneDrive пользователя.
Требуются ли для этого специальные разрешения?Я обнаружил, что на портале Azure могут потребоваться разрешения, но это связано с активным каталогом Azure, и я не уверен, повлияет ли это на API графика, поскольку он работал нормально, считывая диски и элементы дисков в sharepoint (по дискамидентификатор и идентификатор элемента диска, а не путь к файлу).
РЕДАКТИРОВАТЬ: пошел на портал Azure, добавил разрешения API API Graph для приложения:
- Сайт: ReadAll
- Каталог: ReadAll
- Файл: ReadAll
Без изменений.