2015-06-23 1 views
0

Я использую библиотеку документов SP 2013 для поддержки веб-приложения ASP.NET MVC. Я могу использовать веб-api для доступа к библиотеке doc. То, что я пытаюсь сделать, это использовать OData для фильтрации и сортировки на некоторых настраиваемых столбцах, которые я добавил в библиотеку doc. Способ доступа к ним - это расширение на ListItemAllFields. Когда я пытаюсь $ orderby или $ фильтровать одно из этих вложенных свойств, я получаю сообщение об ошибке.Sharepoint 2013 Web API Order By ListItemAllFields

Мой прибудете вызов выглядит следующим образом:

https://<site>/sites/iro/_api/web/lists/getbytitle('TestDocs')/rootfolder/folders('TestFolder')/files?$expand=ListItemAllFields&$orderby=ListItemAllFields/CustomColumn 

Ответ от SP, хотя это 400 и выглядит следующим образом:

{ 
    "error": { 
     "code": "-1, Microsoft.SharePoint.Client.InvalidClientQueryException", 
     "message": { 
      "lang": "en-US", 
      "value": "Field or property \"CustomColumn\" does not exist." 
     } 
    } 
} 

Я попытался с помощью элементов на уровне библиотеки документов, который возвращает все столбцы как плоский объект, но вызов элементов не работает на уровне папки. Поскольку я хочу получить доступ к документам только в определенных папках, это требование.

Спасибо за любой совет!

ответ

0

Вы можете получить все файлы в перкулярной папке ниже вызова REST.

http:<site>/_api/web/GetFolderByServerRelativeUrl('Backup Library/Filtered')/Files 

Где

  • Библиотека резервного копирования это имя моей библиотеки
  • Отфильтрованный папка под библиотекой

Url протестирована и работает, как ожидалось.

+0

Спасибо за отзыв, но не то, что я ищу. Я ищу фильтр для метаданных настраиваемых столбцов. Если вы не предлагаете вручную фильтровать файлы по метаданным в отдельные папки, которые, я думаю, не будут приемлемым решением. – Jay