

SharePoint REST API contextinfo的使用
source link: https://www.cnblogs.com/jianyus/p/14267484.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

SharePoint REST API contextinfo的使用
前言
最近在请求SharePoint API的时候碰到403错误,很明显没有权限,那么,为什么呢?SharePoint页面中应该有上下文才是。好吧,如果你也遇到这样的问题,就先看看请求一下contextinfo这个方法吧。
正文
1.Ajax 请求SharePoint Online API,如下:
jQuery.ajax({ url: "http://<site url>/_api/web/lists", type: "POST", data: JSON.stringify({ '__metadata': { 'type': 'SP.List' }, 'AllowContentTypes': true, 'BaseTemplate': 100, 'ContentTypesEnabled': true, 'Description': 'My list description', 'Title': 'Test' } ), headers: { "accept": "application/json;odata=verbose", "content-type": "application/json;odata=verbose", "content-length": <length of post body>, "X-RequestDigest": $("#__REQUESTDIGEST").val() }, success: doSuccess, error: doError });
2.但是,我们有时候没办法在页面中获取到"X-RequestDigest",那怎么办呢?这时候就需要contextinfo这个方法了:
参考:Navigate the SharePoint data structure represented in the REST service | Microsoft Docs
POST https://{site_url}/_api/contextinfo Authorization: "Bearer " + accessToken Accept: "application/json;odata=verbose"
3.当然,我们有时候还会在C#中请求,如下图:
HttpWebRequest endpointRequest =(HttpWebRequest)HttpWebRequest.Create("http://<site url>/_api/contextinfo"); endpointRequest.Method = "POST"; endpointRequest.Accept = "application/json;odata=verbose"; HttpWebResponse endpointResponse = (HttpWebResponse)endpointRequest.GetResponse();
4.这样的方式是调用API常用的方式:
$.ajax({ url: siteurl + '/_api/contextinfo', method: 'POST', headers: { 'Accept': 'application/json; odata=verbose' } }).done(function (data) { var requestDigest = data.d.GetContextWebInformation.FormDigestValue ......//your request })
总结
除了调用api的时候需要contextinfo这个方法,很多时候在post的时候,也需要先这样获取RequestDigest,通常get方法可以不需要。
Recommend
-
38
SpaceX REST API Open Source REST API for rocket, core, capsule, pad, and launch data Docs See the
-
64
程序员 - @gzf6 - 楼主是做前端的,现在学着用 koa2 写 api 服务器,公司的后端接口一般都设计为 get 或 post 方法,很少用 put 或 delete 方法,想请教下,这两个方法有什么安全上的问题吗?
-
46
在项目中往往会需要确定一个好的API风格,到底有哪些风格可以参考,API Style 的细节要点有哪些呢? Http API Style 有哪些? SOAP:tend to be centered around operations that are usually use-case specifi...
-
10
SharePoint REST API 获取文件夹下的项目数 正文 ...
-
13
SharePoint REST API 设置SummaryLength属性 前言 ...
-
10
SharePoint Search REST API 获取数据 前言 最近...
-
4
表征状态转移(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种
-
8
@[toc]RabbitMQ 还可以这么玩!关于 RabbitMQ 的管理,我们可以通过网页来进行,在松哥前面的文章中也和小伙伴们做了相关的介绍了:
-
6
How to register SPFx field customizers with the SharePoint REST APIIn this article, learn how to register SPFx field customizers using SharePoint’s REST API. See how you can do this our utility web part you can use in your sites!
-
4
使用 .NET 程式存取 SharePoint 文件庫-黑暗執行緒 SharePoint 文件庫支援 Word/Excel 多人共同線上編輯、版本歷程逭蹤,是共享或協作 Office 文件的好選擇,企業可以選擇自架 SharePoint Portal Server 或是使用 SharePoint Online 或 Office 365...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK