SharePoint REST API - OData查询操作

简介: 博客地址:http://blog.csdn.net/FoxDave本篇主要讲述SharePoint REST中OData的查询操作。SharePoint REST服务支持很多OData查询字符串操作,可以对你请求的数据进行查询、筛选和排序。

博客地址: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

相关文章
|
12天前
|
API
车牌号归属地查询免费API接口教程
本接口用于根据车牌号查询社会车辆的归属地,不支持军车、使馆等特殊车牌。请求地址为 `https://cn.apihz.cn/api/other/chepai.php`,支持 POST 和 GET 请求。请求参数包括 `id`、`key` 和 `words`,返回数据包含车牌归属地信息。示例请求:`https://cn.apihz.cn/api/other/chepai.php?id=88888888&key=88888888&words=川B1234`。
48 21
|
6天前
|
API
天气预报15日-墨迹天气-地址查询版免费API接口教程
该接口提供15日天气预报服务,通过指定地址获取墨迹天气预报。支持POST或GET请求,需提供用户ID、KEY、省份名称及地点等参数。返回数据包括15天内每天的天气详情,如最高最低温度、天气变化及图标等。示例中使用的ID和KEY为公共测试账号,建议使用个人账号以获得更高调用频率。
|
7天前
|
API
查询城市手机号段免费API接口教程
此API用于查询指定城市的手机号段、服务商、区号、邮编等信息。支持POST或GET请求,需提供用户ID、KEY及城市名称等参数。返回数据包括状态码、信息提示、查询数量、最大页码、当前页码、省份、城市、区号、邮编、区划代码及数据集等。示例中提供的ID和KEY为公共测试用,建议使用个人ID和KEY以获得更高的调用频率。
|
14天前
|
API
天气预报-腾讯天气-7天-地址查询版免费API接口
这是一个免费的腾讯天气API接口,用于查询指定地址的7天天气预报。支持POST和GET请求方式。请求参数包括id、key、province、city、county等。返回参数包含日期、天气状况、温度等信息。 示例请求地址:https://cn.apihz.cn/api/tianqi/tengxun.php?id=88888888&key=88888888&province=四川省&city=绵阳市&county=。
|
24天前
|
缓存 API 网络架构
掌握现代API开发:GraphQL vs REST
【10月更文挑战第24天】本文深入探讨了现代API开发中两种主流技术——GraphQL和REST的设计理念、技术特点及实际开发中的对比分析。GraphQL通过声明式数据请求和强类型系统提供更高的灵活性和性能,而REST则以其无状态特性和成熟的生态系统见长。文章还讨论了两者在客户端-服务器交互、安全性和工具支持方面的优劣,帮助开发者根据项目需求做出明智选择。
|
29天前
|
API
淘宝API接口( item_detail - 淘宝商品详情查询)
淘宝商品详情查询 API(item_detail)用于获取淘宝商品的详细信息。请求参数包括商品唯一 ID(num_iid)和是否获取促销价(is_promotion)。响应参数包含商品标题、价格、库存、图片链接、品牌等详细信息。
|
1月前
|
数据采集 人工智能 自然语言处理
Python实时查询股票API的FinanceAgent框架构建股票(美股/A股/港股)AI Agent
金融领域Finance AI Agents方面的工作,发现很多行业需求和用户输入的 query都是和查询股价/行情/指数/财报汇总/金融理财建议相关。如果需要准确的 金融实时数据就不能只依赖LLM 来生成了。常规的方案包括 RAG (包括调用API )再把对应数据和prompt 一起拼接送给大模型来做文本生成。稳定的一些商业机构的金融数据API基本都是收费的,如果是以科研和demo性质有一些开放爬虫API可以使用。这里主要介绍一下 FinanceAgent,github地址 https://github.com/AI-Hub-Admin/FinanceAgent
|
2月前
|
JSON 中间件 API
开发REST API3-11
开发REST API3-11
|
2月前
|
API 搜索推荐
|
2月前
|
JSON JavaScript API
编写REST API
编写REST API
61 2
下一篇
无影云桌面