#sharepoint #azure-active-directory #microsoft-graph-api
#sharepoint #azure-активный каталог #microsoft-graph-api
Вопрос:
Я пытаюсь использовать Microsoft Graph для перечисления и загрузки файлов в SharePoint. Я использую прямой http, а не какую-либо библиотеку. Моя проблема в том, что я не могу перечислить дочерние элементы вложенных папок, найденных в библиотеках SharePoint.
Я запускаю процесс с помощью этого вызова для получения списка идентификаторов дисков:
https://graph.microsoft.com/v1.0/sites/host.sharepoint.com/drives
(«хост» на самом деле отличается для моего сайта)
Допустим, идентификатором диска является «ABCDEF». Затем я использую этот вызов для получения списка файлов на диске SharePoint:
https://graph.microsoft.com/v1.0/sites/host.sharepoint.com/drives/ABCDEF/root/children
Это дает для каждого файла идентификатор файла и имя файла. Если в моей библиотеке документов создана вложенная папка, я могу различать файлы и папки, ища элемент «папка». Идентификатор вложенной папки похож на идентификатор файлов. Допустим, идентификатор папки — «XYZ».
Теперь я хочу получить список дочерних элементов для вложенной папки. Я использую этот вызов:
https://graph.microsoft.com/v1.0/sites/host.sharepoint.com/drive/items/XYZ/children
К сожалению, это приводит к ошибке http 404 с сообщением «Ресурс не найден». Я пробовал варианты этого URL-адреса, такие как диски / XYZ / root / дочерние элементы, но ничего не работает.
Может ли кто-нибудь предоставить мне правильный URL-адрес для получения списка файлов из вложенной папки библиотеки SharePoint?
Комментарии:
1. Привет, у вас была возможность проверить мой ответ?
2. Извините, что опоздал с ответом — да, это отлично работает, спасибо за вашу помощь.
Ответ №1:
Это связано с тем, что диск по умолчанию host.sharepoint.com/drive/
отличается от host.sharepoint.com/drives/ABCDEF
.
XYZ
находится на ABCDEF
диске, а не на диске по умолчанию.
Использование https://graph.microsoft.com/v1.0/sites/host.sharepoint.com/drives/ABCDEF/items/XYZ/children
должно решить эту проблему.