Невозможно с expand
получить файлы более 1 уровня. Он упоминается в разделе Известные проблемы документации Microsoft Graph Api.
Но мы можем рекурсивно получить все файлы и папки, используя search .
Поиск с q = '' (поиск пустого запроса), это вернет все файлы и папки в области поиска. Для поиска области действия c, обратитесь к этому answer . Вы можете использовать ключ parentReference, чтобы определить, какой файл принадлежит какой папке.
Пример 1: Следующий запрос извлекает все файлы и папки в root scope
https://graph.microsoft.com/v1.0/me/drive/root/search(q='')?$select=name,id,parentReference
Пример 2: Для поиска в папке с именем 'temp', расположенной в папке root
https://graph.microsoft.com/v1.0/me/drive/root:/temp:/search(q='doc')?$select=name,id,parentReference
Ограничения при поиске (на данный момент)
- Файлы и папки созданные недавно, требуют времени для отражения в результатах поиска, так как они должны быть проиндексированы. Они видны при запросе детей, но не отображаются в результатах поиска.
- Уловка пустого запроса работает только с учетными записями OneDrive Business, но не с личными учетными записями OneDrive. Для личных учетных записей OneDrive при поиске с пустым запросом возвращается сообщение об ошибке «Запрос на поиск не может быть пустым» *
- Область поиска, определяющая c поиск (например: поиск в указанной папке c), работает с OneDrive Personal, но не с учетными записями OneDrive.