SharePoint 2013 REST查询按ContentTypeId

时间:2014-03-18 23:09:39

标签: rest sharepoint

我正在尝试获取列表中的所有文件夹项。我知道文件夹内容类型以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

这会产生结果......但不会返回我需要的项目ID等详细信息。

我的最终目标是,如果有一个列表,其中包含一个名为Foo的文件夹和一个名为Bar的项目。查询应该只获取Foo文件夹并给我详细信息等。

我正在寻找一个REST解决方案(没有CAML)。到目前为止,我尝试过的解决方案要么归还Foo和Bar。或者没有。

1 个答案:

答案 0 :(得分:7)

找到答案。把它放在这里,以便它可以帮助某人

幅/列表/ getbytitle( '列表)/项目?$滤波器= startswith(ContentTypeId,' 0x0120' )