SharePoint REST API - OData查詢操做

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

本篇主要講述SharePoint REST中OData的查詢操做。SharePoint REST服務支持不少OData查詢字符串操做,能夠對你請求的數據進行查詢、篩選和排序。web

查詢返回字段api

使用$select查詢操做來指定對於既定的列表或列表項(其餘集合類的SharePoint數據也可)須要返回哪些字段。可使用$select=*來返回全部可用的字段。markdown

通常來講,若是不指定$select參數,那麼默認REST服務會返回全部可用的字段。然而在一些狀況下,一些SharePoint對象包含了很是耗費資源的屬性。爲了優化REST的性能,這些屬性不會包含在默認的查詢中,所以必須進行顯示聲明。好比,SPWeb.EffectiveBasePermissions屬性默認是不返回的,必須在$select查詢選項中顯示聲明。ide

並且,你還能夠指定來自其餘列表的查閱項字段,以下例:性能

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

查詢要返回的列表項ui

使用$filter參數來指定須要SharePoint REST服務返回哪些值,具體參照本文後面的部分。spa

查詢單值查閱項字段.net

單值查閱項字段在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

相關文章
相關標籤/搜索