问题描述
假设我在SharePoint中有一个名为 FileManager 的文档库。在此文件管理器中,我有多个子文件夹,并且每个子文件夹都有多个文档。现在,我想计算有多少个文件夹和文档可用。
例如:子文件夹A,子文件夹B,子文件夹C->这三个子文件夹都位于文件管理器文档库下。现在,子文件夹可能有许多子文件夹。现在,我想遍历所有这些子文件夹及其子文件夹,以使用REST API获取其中的文件夹和文件数。
就像, 子文件夹A ---> 4个文件夹和100个文档 子文件夹B ---> 10个文件夹和22个文档
这就是结果的结果。
我们如何通过使用REST API实现这一目标?
解决方法
请参考以下方法:
端点:发布 /_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在线环境中对其进行了测试,请您尝试一下吗?