Найти список файлов, используя Sharepoint REST API - PullRequest
0 голосов
/ 07 января 2019

Похоже, это отстраненный вопрос, который я нигде не могу отследить, в том числе и здесь, поэтому я попытаюсь еще раз проверить, есть ли у кого-то решение. У меня есть экземпляр SharePoint 2013, в котором я использую REST API для поиска контента и возвращаюсь к своему интерфейсу React для отображения. Это прекрасно работает. Однако теперь у меня возникает проблема, когда мне нужно искать только список определенных документов по всему сайту, а не только в каталоге или конкретном списке. Я могу выполнить поиск контента, используя / _api / search / query? QueryText = "", но я хочу создать текст запроса этой конечной точки API, чтобы искать только элементы в списке, который я предоставляю.

Например, если я ищу три документа:

  1. foo.txt
  2. Bar.doc
  3. Foobar.pdf

Мне нужны только эти документы и соответствующие данные (например, RedirectEmbedURL и т. Д., Которые я получаю с помощью API поиска), а не метод / _api / web / lists / getByTitle.

Есть ли способ отформатировать строку запроса, чтобы она возвращала только определенные файлы?

Спасибо.

1 Ответ

0 голосов
/ 10 января 2019

Чтобы получить список, вам нужно знать путь к сайту и имя библиотеки.

Также вам нужны операторы для работы с фильтрами

Операторы

Получить все файлы в списке: https: //// _ API / Web / списки / GetByTitle ( '') / Items $ расширяющие = File

?

пример:

https://domain-example.com/sites/site1/site2/etc/_api/Web/Lists/GetByTitle('listtitle')/Items?$expand=File

Вот несколько примеров фильтров :

Для фильтра по имени необходимо развернуть «FieldValuesAsText» и отфильтровать по свойству «FileLeafRef» Пример здесь:

https://[site]/web/Lists/GetByTitle('[library_name]')/Items?$filter=substringof('[TEXT_TO_SEARCH]',Title) or substringof('[TEXT_TO_SEARCH]',FileLeafRef)&$expand=File,FieldValuesAsText

Я также фильтрую по заголовку, поскольку не знаю, нужен ли пользователю заголовок или имя с расширением.

Фильтр запускается с :

https://domain-example.com/sites/site1/site2/etc/_api/Web/Lists/GetByTitle('listtitle')/Items?$expand=File&$filter=startswith(Title,'Foo')

Фильтр "Содержит" (substringof)

https://domain-example.com/sites/site1/site2/etc/_api/Web/Lists/GetByTitle('listtitle')/Items?$expand=File&$filter=substringof('T15', Title)

Фильтр «Поиск по связанному ключу (в данном случае ex1)»: (substringof)

https://domain-example.com/sites/site1/site2/etc/_api/Web/lists/GetByTitle('listtitle')/Items?$expand=FieldValuesAsText&$filter=substringof('BES10GHC10BB001', ex1)

Спасибо за чтение!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...