【问题标题】:How to get SharePoint document library sub folders, folders count and files count recursively using REST API?如何使用 REST API 递归获取 SharePoint 文档库子文件夹、文件夹计数和文件计数?
【发布时间】:2020-12-19 12:04:50
【问题描述】:

假设我在 SharePoint 中有一个名为 FileManager 的文档库。在这个文件管理器中,我有多个子文件夹,每个子文件夹都有多个文档。现在我想计算有多少文件夹和文档可用。

例如:子文件夹 A、子文件夹 B、子文件夹 C--> 所有这 3 个子文件夹都在文件管理器文档库下。现在子文件夹可能有很多子文件夹。现在我想遍历所有这些子文件夹及其子文件夹,以使用 REST API 获取其中的文件夹和文件的数量。

喜欢, 子文件夹 A ---> 4 个文件夹和 100 个文档 子文件夹 B ---> 10 个文件夹和 22 个文档

结果应该是这样的。

我们如何通过使用 REST API 来实现这一点?

【问题讨论】:

    标签: rest sharepoint sharepoint-designer


    【解决方案1】:

    请参考以下方法:

    端点:发布 /_api/Web/lists/getbytitle('Documents')/getitems

    正文:

    {  
          "query" : {
                     "__metadata": { "type": "SP.CamlQuery" }, 
                     "ViewXml" : "<View Scope='RecursiveAll'><ViewFields><FieldRef Name='FileLeafRef' /></ViewFields><Query><Where><And><BeginsWith><FieldRef Name='FileRef' /><Value Type='Lookup'>/sites/sbdev/Shared Documents/Pictures</Value></BeginsWith><Eq><FieldRef Name='FSObjType' /><Value Type='Integer'>1</Value></Eq></And></Where></Query></View>"               
           }
    }
    

    有 2 个过滤器:

    <BeginsWith><FieldRef Name='FileRef' /><Value Type='Lookup'>/sites/sbdev/Shared Documents/Pictures/</Value></BeginsWith>
    

    此过滤器用于获取路径以'/sites/sbdev/Shared Documents/Pictures/'开头的所有项目

    <Eq><FieldRef Name='FSObjType' /><Value Type='Integer'>0</Value></Eq>
    

    这个是用来过滤文件夹/文件的

    我已经在我的SP在线环境中测试过了,你可以试试吗?

    【讨论】:

    • 您好,非常感谢您的回复。我可以获得您在您的环境中尝试过的完整代码示例吗?如果可能,请将其压缩并放在这里 siva289162@gmail.com
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-31
    • 1970-01-01
    相关资源
    最近更新 更多