SharePoint REST API - 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&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,文章的釋出時間為草稿的建立時間,所以下一篇文章的位置比較靠前,在這裡掛一下連結,之後發的內容會盡量注意一下這點,向讀者表示歉意。
相關文章
- 武裝你的WEBAPI-OData便捷查詢WebAPI
- 武裝你的WEBAPI-OData聚合查詢WebAPI
- rest apiRESTAPI
- OData武裝你的WEBAPI-分頁查詢WebAPI
- Hive高階操作-查詢操作Hive
- GraphQL API vs REST APIAPIREST
- Java API之查詢文件JavaAPI
- 常見的查詢操作
- IP查詢類API介面查詢,含各精度IP歸屬地查詢介面API
- Spark REST API & metricsSparkRESTAPI
- Elasticsearch(二)——Rest APIElasticsearchRESTAPI
- flowable的查詢操作和刪除操作
- 萬網域名查詢API介面API
- 快寶物流查詢API介面API
- 7.prometheus之查詢APIPrometheusAPI
- 各種免費好用的api,含天氣查詢、IP查詢、物流查詢等API
- Sharepoint 2013內容查詢Web部件自定義顯示樣式(實戰)Web
- SQLServer DML操作阻塞SELECT查詢SQLServer
- MongoDB 操作文件 查詢文件MongoDB
- MySQL 之慢查詢相關操作MySql
- 在REST API中支援批次操作的幾個不同方法 - mscharhagRESTAPI
- 小米節假日API, 查詢調休API
- 節假日查詢 API 介面上線API
- 通過Web API查詢資料WebAPI
- 【Azure API 管理】解決呼叫REST API操作APIM(API Management)需要認證問題(Authentication failed, The 'Authorization' header is missing)APIRESTAIHeader
- MySQL 查詢常用操作(0) —— 查詢語句的執行順序MySql
- HTML + CSS + JS 利用郵編查詢 API 實現郵編查詢工具HTMLCSSJSAPI
- SpringDataJpa (二)-動態查詢&多表操作Spring
- ArcGIS對欄位分割查詢操作
- 《MySQL 基礎篇》四:查詢操作MySql
- Mybatis騷操作-通用查詢工具類MyBatis
- Spring Boot MongoDB 查詢操作 (BasicQuery ,BSON)Spring BootMongoDB
- 免費API介面大全分享,含簡訊API、IP查詢API等API
- 靈活的API查詢語言——GraphQLAPI
- 全國省市區地址查詢API:簡單易用的地址查詢服務API
- cmdb 查詢資料庫操作記錄資料庫
- MySQL全面瓦解6:查詢的基本操作MySql
- 【ubuntu】使用redis-cli操作redis查詢UbuntuRedis
- 對RPM軟體包的查詢操作