博客地址:http://blog.csdn.net/FoxDave

本篇主要讲述SharePoint REST中OData的查询操作。SharePoint REST服务支持很多OData查询字符串操作,可以对你请求的数据进行查询、筛选和排序。

查询返回字段

使用$select查询操作来指定对于既定的列表或列表项(其他集合类的SharePoint数据也可)需要返回哪些字段。可以使用$select=*来返回所有可用的字段。

一般来说,如果不指定$select参数,那么默认REST服务会返回所有可用的字段。然而在一些情况下,一些SharePoint对象包含了非常耗费资源的属性。为了优化REST的性能,这些属性不会包含在默认的查询中,因此必须进行显示声明。比如,SPWeb.EffectiveBasePermissions属性默认是不返回的,必须在$select查询选项中显示声明。

而且,你还可以指定来自其他列表的查阅项字段,如下例:

http://server/site/_api/web/lists('guid')/items?$select=Title,Products/Name&$expand=Products/Name

查询要返回的列表项

使用$filter参数来指定需要SharePoint REST服务返回哪些值,具体参照本文后面的部分。

查询单值查阅项字段

单值查阅项字段在SharePoint REST服务中通常用两个独立的字段来表示。一个表示真实的字段值,另一个表示字段名称。

查询用户

在SharePoint REST服务中,用户使用友好名称(显示名称)来表示,所以不能用域名去做查询。注意用户查询不支持基于Membership形式的认证,并且不支持使用Current操作符使用当前用户的ID来做查询。

查询多值查阅项字段和用户

不支持。

返回结果排序

使用$orderby查询选项来指定如何对返回的结果集进行排序。如果要对多个字段进行排序,使用逗号分隔。你也可以通过在查询中指定asc和desc关键字来指定是升序还是降序排序。

对返回的结果进行分页

使用$top和$skiptoken查询选项来查询返回结果的子集。注意$skip查询选项不支持SharePoint列表项的查询。$top选项跟SQL一样,用来指定你想返回结果集的前多少条信息,比如top 10:

http://server/site/_api/web/lists('<guid>')/items$top=10

$skiptoken选项用来指定跳过多少条信息之后返回结果。

$skiptoken=Paged=TRUE&amp;p_ID=5

注意这种查询是有序的,举个例子来说,你有一个下一页的操作按钮,当第一次返回1-20条结果到点击下一页返回21-40条结果这个过程中,另一个用户删除了列表项3和16。此时你获得的下一页的返回结果中,跳过了2个列表项。

SharePoint REST服务中支持的OData查询操作符

Supported Not supported
Numeric comparisons Lt Le Gt Ge Eq Ne Arithmetic operators (Add, Sub, Mul, Div, Mod) Basic math functions (round, floor, ceiling)
String comparisons startsWith substringof Eq Ne endsWith replace substring tolower toupper trim concat
Date and time functions day() month() year() hour() minute() second() DateTimeRangesOverlap operator Querying as to whether a date time falls inside a recurrent date time pattern

也可以参见下图

本节就阐述到这里。

注意,由于CSDN恶心的bug,文章的发布时间为草稿的创建时间,所以下一篇文章的位置比较靠前,在这里挂一下链接,之后发的内容会尽量注意一下这点,向读者表示歉意。

http://blog.csdn.net/foxdave/article/details/71055076

SharePoint REST API - OData查询操作的更多相关文章

  1. mvc api odata 查询选项之 $inlinecount ,$format 选项

    网上百度“odata 语法”会出来很多结果,其中有一项是比较一致的,那就是odata支持一下几种语法: $filter  条件表达式 -- 对应sql语句的where条件查询,如:/Categorie ...

  2. mvc api odata查询选项之 $inlinecount $format 选项(转)

    出处:http://www.it165.net/pro/html/201505/40236.html 网上百度“odata 语法”会出来很多结果,其中有一项是比较一致的,那就是odata支持一下几种语 ...

  3. OData V4 系列 查询操作

    OData 学习目录 对OData的操作,主要是查询,下面把相关的查询情况列出来,供参考学习,每个操作都有对应的截图,便于理解 默认查询 $expand  查询导航属性关系 ,查询Product相关的 ...

  4. InfluxDB学习之InfluxDB的HTTP API查询操作

    在 InfluxDB学习 的上一篇文章:InfluxDB学习之InfluxDB的HTTP API写入操作 中,我们介绍了使用InfluxDB的HTTP API进行数据写入操作的过程,本文我们再来介绍下 ...

  5. Dynamics 365 We API ODATA语法根据父记录查询子记录,根据子记录查询父记录(附上根据团队,队列名称查成员)

    微软动态CRM专家罗勇 ,回复333或者20190508可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 先举个N:N关系的例子.这里以根据团队的名称查找其所有团队成员的 ...

  6. Windows 商店应用中使用 SharePoint REST API

    前面一篇我们介绍了 Office 365 REST API 的官方工具的使用,本篇我们来看一下 SharePoint REST API 本身的描述.结构和使用方法,以及一些使用经验. 首先来看看Sha ...

  7. [sharepoint]rest api文档库文件上传,下载,拷贝,剪切,删除文件,创建文件夹,修改文件夹属性,删除文件夹,获取文档列表

    写在前面 最近对文档库的知识点进行了整理,也就有了这篇文章,当时查找这些接口,并用在实践中,确实废了一些功夫,也为了让更多的人走更少的弯路. 系列文章 sharepoint环境安装过程中几点需要注意的 ...

  8. [sharepoint]Rest api相关知识(转)

    写在前面 最近又开始弄rest api了,通过sharepoint rest api获取站点信息,Items,fields非常方便,再结合OData查询,更是得心应手.这里记录学习的时候用到的知识点, ...

  9. SharePoint REST API - 概述

    博客地址:http://blog.csdn.net/FoxDave SharePoint REST API不同于传统的Server Object Model和Client Object Model ...

随机推荐

  1. 使用getCurrentPosition方法实时获取当前Geolocation信息(附源码文件)--html5、JavaScript

    使用getCurrentPosition方法实时获取当前Geolocation信息: 1.getCurrentPosition方法的使用 navigator.geolocation.getCurren ...

  2. 使用VueCLI的User Interface Tool(GUI)创建app的图文讲解

    (英文原文) 需要安VueCLI3和nodejs. 在terminal输入vue可以看到命令列表: 其中vue ui [options] 就是用于开始和打开vue-cli ui的命令. 使用http: ...

  3. IntelliJ IDEA 第一个 Scala 程序

    IntelliJ 安装完成 Scala 插件后,你需要尝试使用 IntelliJ 来创建并且运行第一个程序. 通常这个程序只是简单的输出 Hello World. 创建一个新工程 在文件下面选择新建, ...

  4. python的索引问题

    之前自己在python索引中一直遇到这样的问题: data = np.arange(12).reshape((3,4)) print(data[:][0]) 想要索引第一列时总是索引到第一行,后来发现 ...

  5. python记录_day16 类的成员

    一.变量 1.实例变量(又叫字段.属性) 创建对象时给对象赋值 形式: self.xxx = xxx 访问: 对象名.xxx     只能由对象访问 class Person: def __init_ ...

  6. Fiddler 4 界面功能介绍

    由于本人工作接触Web测试,所以我从网上找的资料,学习了解web测试内容,然后自己整理汇总的随笔,如文章中有不足的地方,请大家多多指教:或者文章内容与他人相似,望见谅 主界面: 工具栏 file:用于 ...

  7. 『MXNet』第十二弹_再谈新建计算节点

    上一节我们已经谈到了计算节点,但是即使是官方文档介绍里面相关内容也过于简略,我们使用Faster-RCNN代码中的新建节点为例,重新介绍一下新建节点的调用栈. 1.调用新建节点 参数分为三部分,op_ ...

  8. 合并CSV文件.bat

    @echo off E:\保存文件夹 cd E:\文件所在的文件夹 dir copy *.csv all_keywords.csv echo @@@@@@@@@@@@@合并成功!@@@@@@@@@@@ ...

  9. js动态检测加载 JQ

    var jqcdnurl = 'https://cdn.bootcss.com/jquery/3.2.1/jquery.js'; //控制台输出 function log() { for (var i ...

  10. URL与URI的含义及区别

    1.1 什么是URI? 简单点说:URI就是通用资源标志符,不理解是吧,我第一次听说也是不理解. 进一步说:网络上的一些资源(文档.图片.音频.视频.程序等)都是有一些通用资源标识(Universal ...