如何访问共享点在线站点中的所有文档 libraries/folder/files

How to access all document libraries/folder/files in a sharepoint online site

以下 api 没有返回 lists/document libraries/folders/files 任何网站(root/created 由我)和子网站。

{{url}}/_api/web/lists

我需要一个 api,这样我就可以获取网站的所有内容,就像 MS Graph 有 api 一样。

"#{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'

对于每个站点,我通过以下端点获取列表:

/_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