2015-07-07 2 views
0

Есть ли способ фильтровать системные папки при получении через REST из Sharepoint онлайн?Фильтровать папки системы sharepoint на корневом уровне

Из документации MSDN получение всех папок на корневом уровне с помощью http://xxxxx.sharepoint.com/_api/web/folders Я не могу найти способ различать систему из пользовательских папок.

Я также пытаюсь фильтровать по свойствам папок, но не повезло найти свойство, которое может помочь.

В качестве примера я получаю папки, как это:

Exists = 1; 
Files = { 
     "__deferred" = { 
      uri = "https://xxxxx.sharepoint.com/_api/Web/GetFolderByServerRelativeUrl('/SiteCollectionImages')/Files"; 
        }; 
       }; 
Folders = { 
     "__deferred" = { 
      uri = "https://xxxxx.sharepoint.com/_api/Web/GetFolderByServerRelativeUrl('/SiteCollectionImages')/Folders"; 
        }; 
       }; 
IsWOPIEnabled = 0; 
ItemCount = 1; 
ListItemAllFields = { 
     "__deferred" = { 
      uri = "https://xxxxxx.sharepoint.com/_api/Web/GetFolderByServerRelativeUrl('/SiteCollectionImages')/ListItemAllFields"; 
        }; 
       }; 
Name = SiteCollectionImages; 
ParentFolder = { 
     "__deferred" = { 
      uri = "https://xxxxx.sharepoint.com/_api/Web/GetFolderByServerRelativeUrl('/SiteCollectionImages')/ParentFolder"; 
        }; 
       }; 
ProgID = "<null>"; 
Properties = { 
     "__deferred" = { 
      uri = "https://xxxxx.sharepoint.com/_api/Web/GetFolderByServerRelativeUrl('/SiteCollectionImages')/Properties"; 
        }; 
       }; 
ServerRelativeUrl = "/SiteCollectionImages"; 
TimeCreated = "2014-04-25T12:54:44Z"; 
TimeLastModified = "2015-01-13T11:08:47Z"; 
UniqueId = "bffe7ef4-b242-4b13-990b-fcd00e7617af"; 
WelcomePage = ""; 
"__metadata" = { 
     id = "https://xxxxxx.sharepoint.com/_api/Web/GetFolderByServerRelativeUrl('/SiteCollectionImages')"; 
     type = "SP.Folder"; 
     uri = "https://xxxxxx.sharepoint.com/_api/Web/GetFolderByServerRelativeUrl('/SiteCollectionImages')"; 
       }; 
+0

Я думаю, что я нашел способ решить эту проблему. Использование KQL делает работу, хотя она не возвращает всю необходимую мне информацию: http://xxxxx.sharepoint.com/_api/search/query?querytext='contentclass:STS_List_DocumentLibrary '. – SantiFdezMunoz

+0

С другой стороны, используя операции с списками и фильтрами, я нашел другой способ, который мог бы выполнить задание, но он не фильтрует правильно. То, о чем я говорю, это использовать формат: http://xxxxx.sharepoint.com/_api/web/Lists?filter=BaseTemplate eq 101. Я мог бы сделать фильтрацию на стороне клиента, но это мало смысла. Если я найду лучший вариант, я скажу это как ответ – SantiFdezMunoz

ответ

0

Я нашел ответ. Хотя это не идеально, поскольку в нем все еще отображаются некоторые системные папки, он фильтрует большинство из них. Используя следующий запрос делает работу:

https://xxxxxx.sharepoint.com/_api/web/Lists?$filter=BaseTemplate+eq+101

Смежные вопросы