我正在尝试获取列表中的所有文件夹项目。我知道文件夹内容类型以 0x0120 开头。所以我写了这两个查询
http://sharepoint.com/sites/dev3/_api/web/lists/getbytitle('Discussions')/items?$filter=substringof(%270x0120%27,ContentTypeId)
这不会返回任何结果。
(这是此线程中推荐的解决方案 OData substringof or startswith returning all items )
我也试过
http://sharepoint.com/sites/dev3/_api/web/lists/getbytitle('Discussions')/items?$startswith(%270x0120%27,ContentTypeId)
这会返回结果,但它会返回所有内容……它不会真正根据我指定的 ID 进行过滤。
我也试过
http://sharepoint.com/sites/dev3/_api/web/GetFolderByServerRelativeUrl('/sites/dev3/lists/Discussions')/folders
这会给出结果...但不会返回我需要的详细信息,例如 Item Id。
我的最终目标是,如果有一个列表,其中有一个名为 Foo 的文件夹和一个名为 Bar 的项目。查询应该只获取 Foo 文件夹并提供诸如此类的详细信息。
我正在寻找 REST 解决方案(无 CAML)。到目前为止,我尝试过的解决方案要么返回所有 Foo 和 Bar。或者什么都没有。
最佳答案
找到了答案。把它放在这里是为了帮助别人
web/lists/getbytitle('List)/items?$filter=startswith(ContentTypeId,'0x0120')
关于rest - 按 ContentTypeId 的 SharePoint 2013 REST 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22493007/