SharePoint REST API - 确定REST端点URL

SharePoint REST端点URI的结构

在你能够通过REST访问SharePoint资源之前,首先你要做的就是找出对应的URI端点,如果你对Client API熟悉,有些时候也可以参考Client API去猜测构建,例如。

客户端对象模型的方法:

 

List.GetByTitle(listname).GetItems()

对应的REST端点URI为:

http://server/site/_api/lists/getbytitle('listname')/items

然而为了遵守REST和OData标准,REST端点和Client API不总是一致的。下图展示了REST API的一般语法结构。

 

访问某些SharePoint资源的API跟此语法结构不太一致,它们是:

>需要复杂类型参数的方法

>静态方法和属性

确定SharePoint REST服务的端点

构建一个访问SharePoint资源的REST端点可以遵循下面的步骤:

1. 开始一段REST服务引用 http://server/site/_api

2. 指定适当的入口,如Web http://server/site/_api/web

3. 指定要访问的具体资源,这通常跟客户端对象模型是一致的 http://server/site/_api/web/lists/getbytitle('listname')

在你的URI端点中引用你的SharePoint REST服务

使用_api来表示SharePoint REST服务,REST服务是client.svc网络服务的一部分,REST是为了简化所以改用_api来表示。也就是说,http://server/site/_vti_bin/client.svc/web/lists和http://server/site/_api/web/lists这两种格式是都被支持的,但是推荐使用_api这种方式,因为URL有256个字符的限制。

指定SharePoint REST服务的入口

REST服务的主入口表示网站集合上下文对象(context)对应的网站,这跟ClientContext.Site和ClientContext.Web这两个属性一致。

如果要访问一个指定的网站集,使用http://server/site/_api/site。如果要访问一个指定的网站,使用http://server/site/_api/web。下表是一个对应关系。

 

Feature areaAccess point
Sitehttp:// server/site/_api/site
Webhttp:// server/site/_api/web
User Profilehttp:// server/site/_api/SP.UserProfiles.PeopleManager
Searchhttp:// server/site/_api/search

访问你想要访问的指定资源

根据客户端对象模型来构建REST服务访问你想要访问的资源,如下表。

 

**Client object model API **REST endpoint
ClientContext.Web.Listshttp:// server/ site/_api/web/lists
ClientContext.Web.Lists[guid]http:// server/ site/_api/web/lists(' guid')
ClientContext.Web.Lists.GetByTitle("Title")http:// server/ site/_api/web/lists/getbytitle(' Title')

在REST端点URI中指定参数

SharePoint扩展了OData规范使你能够使用括号来指定方法的参数和索引下标值。这防止了在URI中包含多个同名参数时潜在的不明确问题。例如http://server/site/_api/web/lists/getByTitle('Announcements')/fields/getByTitle('Description')和http://server/site/_api/web/lists('<guid>')/fields/getById('<guid>')。

如果参数是一个键值对,那么就用逗号分隔一下,如http://server/site/_api/web/getAvailableWebTemplates(lcid=1033, includeCrossLanguage=true)。

REST服务中的复杂参数类型

在客户端对象模型的一些方法中需要大数据作为参数,REST也提供了这种能力,但是不在URL上,而是通过POST操作。例如,ListCollection.Add方法需要Microsoft.SharePoint.Client.ListCreationInformation作为参数,需要构建如下的请求:

http://server/site/_api/web/lists/add

 

{ "d" : {"results": {"__metadata": {"type": "SP.ListCreationInformation"}, "CustomSchemaXml": "…large payload…/", "Description": "desc", "DocumentTemplateType": "1", "TemplateType": "101", "Title": "Announcements"}
} 
}

在REST服务请求中使用别名

 

你可以定义参数别名去请求SharePoint REST,直接用示例说明。

直接请求的样子:http://server/site/_api/web/applyWebTemplate("STS#0")

使用别名的样子:http://server/site/_api/web/applyWebTemplate(title=@template)?@template="STS#0"

需要注意一下这种方式不支持复杂的参数,即http://server/site/_api/userProfiles/People(7)/GetWorkplace(@address)?@address={"__metadata":{"type: "ODataDemo.Address"},"Street":"NE 228th", "City":"Sammamish","State":"WA","ZipCode":"98074","Country": "USA"}这样的是不被支持的。

在REST服务URI中使用静态方法和属性

构建一个静态方法或属性的REST服务URI,可以使用与ECMAScript对象模型中一致的API名字,如http://server/site/_api/SP.Utilities.Utility.getImageUrl('imageName')。需要注意的是这种方式不能作为参数来传递而只能直接调用,举个例子说明:

http://server/site/_api/SP.Utility.assetsLibrary/id是可以的,但是http://server/site/_api/getList(~SP.Utility/assetsLibrary/id)就不行。

本篇就讲到这里。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/439386.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习】 - 各种人脸数据集下载地址及说明汇总

1. Olivetti Faces人脸数据集 由40个人组成&#xff0c;共计400张人脸&#xff1b; 每人的人脸图片为10张&#xff0c;包含正脸、侧脸以及不同的表情&#xff1b; 整个数据集就是一张大的人脸组合图片&#xff0c;下载地址&#xff1a;https://cs.nyu.edu/~roweis/data/olivet…

【机器学习】 - 激活函数与交叉熵Sigmoid, Softmax, binary_crossentropy, categorican_crossentropy区别

Content: 为什么需要激活函数&#xff1b;一个神经元在做什么&#xff1b;激活函数 SigmoidSoftmax 4. 交叉熵损失函数 Binary cross-entropyCategorican cross-entropy为什么需要激活函数&#xff1a; Ans: 为了引入非线性变换。 如下图所示的红线和蓝线&#xff0c;在这个…

SharePoint 2013 Farm 安装指南——Least Privilege

写过很多关于SharePoint 2013 安装&#xff0c;这是第四篇。可能你会觉得为什么如此简单的安装至于花那么多精力去折腾吗。我的答案是肯定的。知识的积累不是一蹴而就的&#xff0c;而是循序渐进的去学习&#xff0c;每一个阶段都有独立的思考&#xff0c;于是乎第四篇SharePoi…

【机器学习】 - 关于Keras的深入理解

1.keras中使用相同的loss与metrics&#xff0c;都指定为mse&#xff0c;为什么训练时每轮完成后它们数值不一样&#xff1f; 答&#xff1a; 此时的loss是指完成最后一个batch后得到的这轮epoch的loss的加权平均&#xff0c;权重就是每个batch的样本数&#xff0c;&#xff08…

SharePoint 2007 and 2010 的服务器场的端口

由于要把一台SharePoint Server放到外网去,就把IP改到DMZ区了,结果除了系统管理员,其他帐号都无法验证通过,肯定是一些端口没开. 网上一查,SharePoint所需要的端口还真多,不过Client和WFE之间的应该开放80和443就OK了,其余的都是SharePoint Server之间,或者和 公司网络环境的…

【Python学习】 - 使用Anaconda的Spyder查看某些函数的原型的6种方法汇总

1.Ctrl鼠标点击函数名&#xff08;对应的函数名会加下划线&#xff09; 或 Ctrlg 2.help(function) 在某些情况下方法1失效&#xff0c;比如TensorFlow中的一些函数tf.constant&#xff0c;他只会跳转到一个init文件&#xff0c;并不会展示函数原型。 所以可以这样help(tf.co…

关于报错:'nvidia-smi' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

使用cmd查看电脑显卡的信息&#xff0c;调用nvidia-smi查看显卡使用情况报错如下&#xff1a; 因为它找不到该命令。这个文件是一个exe文件&#xff0c;一般都在下面这个文件夹中。 C:\Program Files\NVIDIA Corporation\NVSMI 所以想要使用该命令必须要能得到这个文件夹&…

SharePoint网站集备份与恢复

下面是操作过程&#xff1a;尝试三是成功的 尝试一&#xff1a;移动网站集&#xff08;无效&#xff09; 向Web应用程序新增了一个数据库&#xff0c;把网站集迁移到新数据库里&#xff1b; Get-SPSite -ContentDatabase <SourceContentDb> | Move-SPSite -Destination…

【机器学习】 - 使用dlib进行人脸定位,人脸检测,给人脸图片戴口罩

detector dlib.get_frontal_face_detector() 功能&#xff1a;人脸检测画框 参数&#xff1a;无 返回值&#xff1a;默认的人脸检测器 faces detector(img_gray, 0) 功能&#xff1a;对图像画人脸框 参数&#xff1a;img_gray&#xff1a;输入的图片 返回值&#xff1a;人脸…

【机器学习】 - import cv2 opencv安装python

果然不出我所料&#xff0c;直接pip就出了很多奇奇怪怪的错误&#xff0c;还是用清华镜像吧 输入&#xff1a;pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple 安装完后&#xff0c;重启spyder即可使用。 下载方法2&#xff1a; 下载地址&#xff1a…

Sharepoin学习笔记—架构系列—Sharepoint服务(Services)与服务应用程序框架(Service Application Framework) 2

上一篇我们以问答的方式明确了Sharepoint服务的一些概念&#xff0c;这里我们重点来看两个方面:Sharepoint服务器构架对象模型以及Sharepoint 服务应用程序的某些拓扑结构 一、Sharepoint服务器构架对象模型 二、Sharepoint 服务应用程序的某些拓扑结构 Sharepoint 服务应用程…

【深度学习】 - MobileNet使用的可分离卷积

任何看过MobileNet架构的人都会遇到可分离卷积&#xff08;separable convolutions&#xff09;这个概念。但什么是“可分离卷积”&#xff0c;它与标准的卷积又有什么区别&#xff1f;可分离卷积主要有两种类型&#xff1a; 空间可分离卷积&#xff08;spatial separable con…

SharePoint 2010 WSP包部署过程中究竟发生什么?

在SharePoint 2010中&#xff0c;我们可以使用Visual Studio 2010轻松创建WSP包来安装Web Part&#xff0c; Event Handler&#xff0c; Application Page以及其他。非常方便&#xff0c;但是你有没有研究过在在整个过程中SharePoint究竟做了些什么&#xff1f;以下是我根据htt…

【机器学习】 - 目标检测 - VOC格式数据集介绍与自己制作

一、VOC数据集 PASCAL VOC 挑战赛主要有 Object Classification 、Object Detection、Object Segmentation、Human Layout、Action Classification 这几类子任务。每年都有新的数据集供参赛者进行训练。公布了2007和2012两年的数据集&#xff0c;分别称之为VOC2007和VOC2012&am…

【Python学习】win10+Anaconda3环境,安装phthon第三方库Jieba

一、介绍 jieba库是一款优秀的 Python 第三方中文分词库&#xff0c;jieba 支持三种分词模式&#xff1a;精确模式、全模式和搜索引擎模式&#xff0c;下面是三种模式的特点。 精确模式&#xff1a;试图将语句最精确的切分&#xff0c;不存在冗余数据&#xff0c;适合做文本分…

【PAT甲级最新题解】PAT甲级2020.7月春季考试满分题解(附代码)

写在前面&#xff1a;这次题目虽然大多数是模拟题且不算难&#xff0c;但是题面其实不算友好&#xff0c;不少同学因为题目描述而错失满分。 A&#xff1a; 题意&#xff1a;给定一个数字串&#xff0c;问每一个前缀串是否是素数。 模拟题不多解释。 #include<cstdio>…

SharePoint PowerShell命令系列

(1) Backup-SPSite & Restore-SPSite 这两条命令可能是大家最先接触的PowerShell命令了吧, 一个是备份网站集, 另一个是还原网站集. Backup-SPSite 例子 Backup-SPSite http://site_name -Path C:\Backup\site_name.bak 参数 Force: 覆盖现有备份NoSiteLock: 设置备份…

【Processing学习】 - 公交车马路动态绘制

效果图: 汽车动态移动,云彩动态移动,小草没有找到矢量图,百度了一张先用着. float q 0; int s 0; int add 1;PImage p1;void setup() {size(800, 400);background(0, 0, 255);rect(300, 150, 300, 140, 30);//sunfill(255, 255, 0);circle(800, 0, 40);first//circle(360,…

Qt 5.14 安装,windows10系统,64位,详细步骤,非常简单!

下载地址&#xff1a;http://download.qt.io/archive/qt/5.14/5.14.2/ 直接选择windows系统或mac兄或Linux系统对应版本即可。 这里解释一下 Qt 的版本号&#xff0c;比如 5.14.2 是完整的 Qt 库版本号&#xff0c;第一个数字 5 是大版本号&#xff08;major&#xff09;&…

2023年12月16日~12月22日(自适应反馈机制下基于卷积神经网络的高清晰反射波反演算法:CNN-RWI)

标题&#xff1a;Adaptive Feedback Convolutional-Neural-Network-Based High-Resolution Reflection-Waveform Inversion 全波形反演&#xff08;FWI&#xff09;是一种非线性拟合观测地震记录从而获得高清晰速度模型的最优化算法。FWI能够通过拟合浅层初至波和反射波获得较准…