Мне нужно искать файлы с расширением .docx
в моем OneDrive
.Так что этот бит прост и работает с использованием API поиска OneDrive.Часть, которая не работает, состоит в том, что в ответе с каждым DriveItem
мне также нужны пользовательские свойства, которые мы создали в ListItem.Fields
, связанном с этим DriveItem
.Эти пользовательские свойства содержат информацию, необходимую для создания отчета.
Расширение ListItem
, кажется, работает на ресурсе root/children
без поиска, но это не решает мою проблему, мне нужны файлы срасширение .docx в их именах файлов, эти файлы могут находиться в корневом каталоге или любой подпапке в корневом каталоге.
Таким образом, этот запрос возвращает CustomProperty с ответом
/_api/v2.0/drives/[drive id]/root/children?select=*%2cwebDavUrl
%2csharepointIds&expand=listItem(select%3dfields%3bexpand%3dfields(select%3dCustomProperty))
Но когда я пытаюсьразвернуть ListItem
на DriveItems
, возвращенном поисковым запросом, как показано ниже:
/_api/v2.0/drives/[drive id]/root/search(q='docx')?select=*%2cwebDavUrl%2csharepointIds&expand=listItem(select%3dfields%3bexpand%3dfields(select%3dCustomProperty))
Я получил ошибку:
Error: {"error":{"code":"notSupported","message":"The request is not supported by the system."}}
Расширяется ListItem.Fields
на DriveItem
не поддерживается в OneDrive
Поиск API?
Если это не так, то есть ли другой способ для меня достичь того, что я хочу сделать здесь?Я не пытаюсь выполнить поиск по CustomProperty
, просто хочу получить это значение как часть ответа с ассоциированным DriveItem
.
Ожидается, что я получу ту же / аналогичную ошибку, если я выполню это через Microsoft Graph
Поиск API вместо OneDrive
API.
Один из способов, который я мог бы сделать, - это сначала поиск .docx
файлы без ключевого слова расширения, и он будет рекурсивно искать и возвращать все .docx
файлы в моем OneDrive
.Затем я мог бы сделать отдельные вызовы, чтобы запросить эти элементы снова один за другим из OneDrive
, используя их DriveItem.Id
и расширенное свойство ListItem.Fields
.Это был бы ужасный обходной путь, хотя.Потому что вместо того, чтобы достичь того, что мне нужно в одном запросе, мне пришлось бы делать 1000 или 10000 отдельных запросов ввода-вывода (по одному на файл .docx), чтобы получить расширенные свойства ListItem
.