【问题标题】:Sharepoint 2013 Web API Order By ListItemAllFieldsSharepoint 2013 Web API 按 ListItemAllFields 排序
【发布时间】:2017-07-05 10:11:39
【问题描述】:

我正在使用 SP 2013 文档库来支持 ASP.NET MVC Web 应用程序。我只能使用 web api 来访问文档库。我想要做的是使用 OData 对我添加到文档库的一些自定义列进行一些过滤和排序。访问这些的方法是扩展 ListItemAllFields。当我尝试 $orderby 或 $filter 那些嵌套属性之一时,我得到一个错误。

我的 get 调用如下所示:

https://<site>/sites/iro/_api/web/lists/getbytitle('TestDocs')/rootfolder/folders('TestFolder')/files?$expand=ListItemAllFields&$orderby=ListItemAllFields/CustomColumn

SP 的响应是 400,如下所示:

{
    "error": {
        "code": "-1, Microsoft.SharePoint.Client.InvalidClientQueryException",
        "message": {
            "lang": "en-US",
            "value": "Field or property \"CustomColumn\" does not exist."
        }
    }
}

我尝试在文档库级别使用项目,它将所有列作为平面对象返回,但项目调用在文件夹级别不起作用。因为我只想访问特定文件夹中的文档,所以这是一个要求。

感谢您的建议!

【问题讨论】:

    标签: sharepoint sharepoint-2013


    【解决方案1】:

    您可以通过下面的 REST 调用获取特定文件夹中的所有文件

    http:<site>/_api/web/GetFolderByServerRelativeUrl('Backup Library/Filtered')/Files
    

    在哪里

    • 备份库是我的库的名称
    • Filtered 是库下的文件夹

    Url 已经过测试并按预期工作。

    【讨论】:

    • 感谢您的反馈,但不是我想要的。我希望过滤自定义列元数据。除非您建议通过元数据手动将文件过滤到单独的文件夹中,否则我认为这不是一个可接受的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-06
    • 2014-08-07
    • 2015-04-10
    • 1970-01-01
    • 2013-06-06
    • 2014-03-29
    相关资源
    最近更新 更多