С помощью Microsoft Graph SDK для .NET я хочу перечислить все библиотеки документов на моем корневом сайте (например, http://mydomain.sharepoint.com) и для каждой из них перечислить определения их столбцов.

Поскольку мне нужны столбцы, я не могу использовать запрос "/ sites / {site-id} / drive", так как он вернет объект Drive, у которого нет столбцов. Итак, единственный способ, который я нашел для этого, - это запросить все списки с фильтром для свойства шаблона, установленного на 'documentLibrary' в соответствии со ссылкой на API: https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/ ресурсы / список

В обозревателе графиков соответствующий запрос выглядит следующим образом: «https://graph.microsoft.com/v1.0/sites/root/lists?$filter=list/template eq 'documentLibrary'», но он возвращает ошибку (то же самое без "вокруг documentLibrary"). Но я не нашел способа сделать это ни с помощью .NET SDK, ни с помощью графического обозревателя.

Любая помощь приветствуется, заранее спасибо

Метод C # для запроса списков с помощью шаблона фильтра

1
CoRouff 22 Сен 2018 в 21:31

1 ответ

Лучший ответ

API-интерфейс Graph в списке SharePoint не поддерживает фильтрацию или упорядочивание результатов. Когда Microsoft Graph видит параметр запроса, которого он не ожидает, он просто игнорирует неизвестный параметр фильтра и возвращает нам неотфильтрованный результат; или он просто возвращает неподдерживаемые советы. API списка поддерживает $ expand, $ выберите параметры запроса OData, чтобы настроить ответ.

С помощью операторов select и expand вы можете получить метаданные списка, определения столбцов и элементы списка в одном запросе.

А в доступной в настоящее время документации просто говорится:

Поддержка операторов $ filter зависит от API Microsoft Graph.

Слово «меняется» означает вывод о том, что эти параметры полностью не поддерживаются во всех продуктах.

Поэтому, если вы запросите v1.0 / sites / root / lists? $ Filter = list / template eq 'documentLibrary' , вы получите следующее ответное сообщение:

"message": "Указанный оператор фильтра не поддерживается"

Вам нужно изменить свой дизайн на этом. Между тем, вы можете проголосовать за существующий запрос функции в User Voice или отправить новый.

1
Seiya Su 23 Сен 2018 в 00:48