本文讲述SharePoint 2013 Odata 常用实例和基本操作。
Open Data Protocol (OData)是一个基于Rest风格的数据服务,同过这个服务可以使用同一的URI定位到具体的资源(文件和记录等),从而使得这些资源可以使用HTTP请求进行增删改查,它定义了一系列的规则,使得资源更容易被定位和操作。
首先看一下OData定义的URI结构:
那么相对SharePoint 2013,一个简单的实例为:
http://moss2013site/_api/web/lists/GetByTitle('News')/items?$select=Title,Body,ID&$top=10&$orderby=Created desc
这个URI表示查询News 列表里面最新的10条记录,查询的字段为Title,Body,ID
http://moss2013site/_api/web 是service root URI
/lists/GetByTitle('News')/items 是resource path
?$select=Title,Body,ID&$top=10&$orderby=Created desc 是Query option, $select=Title,Body,ID表示选择Title,Body,ID三个字段,$top=10表示选择前10条记录,$orderby=Created desc表示按创建时间倒序排列
service root URI 和 resource path相对简单和容易理解,这里我们用一张来自微软网站http://msdn.microsoft.com/en-us/library/office/apps/fp142385.aspx的图来说明下Query option(注意降序排列不时dsc,应该是desc,如果你使用dsc将会报错),目前SharePoint 2013 的Odata service支持以下查询选项:
SharePoint 2013 的Odata service的常用URI实例:
URI实例 | 解释 |
_api/web/title | 返回web title |
_api/web/lists(guid'<list id>') | 返回列表 |
_api/web/lists/getByTitle('Announcements')/fields | 返回列表的所有字段 |
_api/web/lists/getByTitle('Task')/items | 返回Tas列表的所有item |
_api/web/siteusers | 返回该站点所有用户 |
_api/web/sitegroups | 返回该站点所有用户组 |
_api/web/sitegroups(3)/users | 返回该站点所有在id为3的用户组的用户 |
_api/web/GetFolderByServerRelativeUrl('/Shared Documents') | 返回Shared Documents文档库根目录 |
_api/web/GetFolderByServerRelativeUrl('/Plans')/Files('a.txt')/$value | 返回Plans文档库根目录下的a.txt文件 |