Как получить доступ ко всем библиотекам документов / папкам / файлам на сайте sharepoint - PullRequest
0 голосов
/ 16 января 2020

Ниже API не возвращает списки / библиотеки документов / папки / файлы для любого сайта (созданного мной / root) и дочерних сайтов.

{{url}}/_api/web/lists

Мне нужен API, чтобы я мог получить все содержимое сайт, как и API для MS Graph.

"#{MS_GRAPH_SITE}/sites/#{site_id}/lists"

А затем элементы:

"#{MS_GRAPH_SITE}/sites/#{site_id}/lists/#{list['id']}/items"

Я могу получить списки сайтов через API ниже:

{{url}}/_api/search/query?querytext='contentclass:STS_Site contentclass:STS_Web'

1 Ответ

0 голосов
/ 20 марта 2020

Для каждого сайта я выбирал списки через нижнюю конечную точку:

/_api/web/lists?$select=id&$filter=hidden eq false and iscatalog eq false and basetemplate eq 101 and itemcount ne 0

Затем для каждого списка я выбирал папки и файлы:

/_api/web/lists/getbyid('#{list_id}')/rootfolder?$expand=folders,files

Давайте вызовем выше list_folder_files.

list_folders = list_folders_files ['Folders']. Select {| x | x ['ItemCount']! = 0}

И для каждой папки я выбрал подпапку и файлы:

/_api/web/getfolderbyserverrelativeurl('#{list_folder['ServerRelativeUrl']}')?$expand=folders,files
...