SharePoint REST API - REST请求导航的数据结构
博客地址:http://blog.csdn.net/FoxDave
从一个既定的URL获取其他SharePoint资源
当你用SharePoint REST服务进行开发的时候,你经常会从指定的一个SharePoint对象开始,但是却想要访问相关的其他资源,比如列表项所在的文件夹或文档库的结构。例如,假如你想要创建一个Add-in来访问文档库中的文档。这个Add-in必须识别真正的SharePoint网站URL,当你这么做的时候,Add-in能够创建更多的请求来创建、更新或删除相关的列表项或资源。
想要实现这个的话,你的Add-in需要如下信息:
>包含想要访问资源的网站集合网站相对URL
>一个能够使你完成请求操作的表单摘要,HTTP请求动作如POST、PUT、MERGE和DELETE。
基本过程如下:
1. 在既定的URL使用/contextinfo操作来访问SharePoint网站集地址,以如下的格式:
http://server/web/doclib/forms/_api/contextinfo
出于安全性的考虑,该操作只支持POST请求。
2. 通过/contextinfo操作返回的SPContextWebInformation对象属性来访问额外需要的资源。
可以尝试下面的操作步骤:
1. 从一个既定的SharePoint列表项开始,如:http://site/web/doclib/myDocument.docx。
2. 去掉URL的最后一段,就相当于在访问一个文档库、文件夹或者列表:http://site/web/doclib/
3. 将/contextinfo加到URL后面,如:http://site/web/doclib/_api/contextinfo
4. 从请求的响应中获取表单摘要和网站的完整URL。
5. 将_api加到网站URL后面。
6.用上面得到的这些内容去访问其他你需要的资源。
如果你使用的是GET请求或者使用了一个有效的OAuth令牌,那么你不需要传递表单摘要。
访问父网站和子网站
当你使用服务端对象模型访问你的网站结构时,可以使用SPWeb.ParentWeb和SPWeb.Webs属性来访问父网站和子网站。
与其相应的REST资源为web/parentweb和web/webs。但是不要返回网站对象的资源,因为REST服务依据OData标准,返回完整的网站属性会使请求变得非常的低效。一般会返回一个WebInfo对象,该对象包含了网站的标量属性而没有关联的属性集合如字段集合。
访问文件夹结构
SharePoint REST服务不支持按照垂直级别访问SharePoint的文件夹,需要通过Web.GetFolderByServerRelativeUrl来实现。
/_vti_bin/client.svc/web/lists/SharedDocuments/folder1/stuff/things/Recycle(不支持)
/_vti_bin/client.svc/web/GetFolderByServerRelativeUrl('SharedDocuments/folder1/stuff/things')/Recycle(支持)
SPContextWebInformation对象属性
SPContextWebInformation Property | Description |
---|---|
webFullUrl | 获取最近网站的ServerRelativeURL。 |
siteFullUrl | 获取网站集中根网站的ServerRelativeURL。如果最近网站就是根网站,该属性值跟webFullUrl相同。 |
formDigestValue | 获取服务器请求的表单摘要。 |
LibraryVersion | 获取REST库的当前版本。 |
SupportedSchemaVersions | 获取支持的REST/CSOM库的版本清单。 |
WebInfo对象
WebInfo property | Description |
---|---|
Created | Gets a value that specifies when the site was created. |
Description | Gets or sets the description for the site. |
Id | Gets a value that specifies the site identifier. |
Language | Gets a value that specifies the locale ID (LCID) for the language that is used on the site. |
LastItemModifiedDate | Gets a value that specifies when an item was last modified in the site. |
Title | Gets or sets the title for the site. |
WebTemplateId | Gets the identifier of the site template. |
本篇就阐述到这里。
SharePoint REST API - REST请求导航的数据结构相关推荐
- SharePoint REST API - 一个请求批量操作
博客地址:http://blog.csdn.net/FoxDave 本篇主要讲解如何应用$batch查询选项来批量执行REST/OData请求,它将多个操作捆绑到一个请求中,可以改进应用程序的性能 ...
- [sharepoint]rest api文档库文件上传,下载,拷贝,剪切,删除文件,创建文件夹,修改文件夹属性,删除文件夹,获取文档列表...
写在前面 最近对文档库的知识点进行了整理,也就有了这篇文章,当时查找这些接口,并用在实践中,确实废了一些功夫,也为了让更多的人走更少的弯路. 系列文章 sharepoint环境安装过程中几点需要注意的 ...
- SharePoint REST API contextinfo的使用
前言 最近在请求SharePoint API的时候碰到403错误,很明显没有权限,那么,为什么呢?SharePoint页面中应该有上下文才是.好吧,如果你也遇到这样的问题,就先看看请求一下contex ...
- SharePoint REST API - 基本操作(一)
博客地址:http://blog.csdn.net/FoxDave 本文讲述如何应用SharePoint的REST接口完成基本的增删查改操作. 使用SharePoint客户端API和REST服务进 ...
- java跨域权重_爱站权重查询 API 接口请求调用
原标题:爱站权重查询 API 接口请求调用 爱站权重查询 API 接口在网上已经很多且大都封装成了 API 供别人调用.支持前台跨域请求,以GET/POST方式提交即可.爱站权重查询 API 接口可以 ...
- API HTTP 请求调试:Postman
参考: Postman 是一个非常棒的Chrome扩展,提供功能强大的API & HTTP 请求调试. 它能够发送任何类型的HTTP requests (GET, HEAD, POST, PU ...
- 谷歌地图API位置请求_Google Maps API
谷歌地图API位置请求 Google maps api 以xml格式传回请求的地址:http://maps.google.com/maps/api/geocode/xml?latlng=39.910 ...
- (0029) iOS 开发之API HTTP 请求调试网站
API & HTTP 请求调试网站||软件 1.Apizza 2.Requests: 让 HTTP 服务人类 3.Postman
- 请求接口返回的是一个html_搜狗美图 API 接口请求调用
搜狗美图 API 接口在网上已经很多且大都封装成了 API 供别人调用.支持前台跨域请求,以POST方式提交图片即可.搜狗美图 API 接口每日都会更新一张美图,本 API 接口可选择生成当日美图,也 ...
最新文章
- SpringBoot-web开发(二): 页面和图标定制(源码分析)
- YC中国被撤,陆奇独立运营个人新品牌「奇绩创坛」
- python post请求 上传图片_利用python模拟实现POST请求提交图片的方法
- django使用ckeditor富文本编辑器-转
- boost::math模块实现图表显示使用 Lambert W 函数计算电流的测试程序
- JavaScript字符串操作方法大全,包含ES6方法 1
- poj hdu Tian Ji -- The Horse Racing 贪心
- 使用vue组件搭建网页应用
- 内核堆栈 用户堆栈_弹性堆栈介绍
- 操作系统上机作业-- 使用信号量解决生产者、计算者、消费者问题(多线程)
- WIFI,WiMAX和WAPI
- 四边形可以分为几类_大件物流有哪些公司?大件物流公司的业务可以分为哪几类...
- JavaScript学习 第二课(二)
- 【OpenCV】透视变换 Perspective Transformation
- 如何安装ipa文件(二)
- 数库“SmarTag”数据体系正式登陆Factset另类数据市场
- Java开发求职总结
- Geronimo入门与进阶
- 1124 Raffle for Weibo Followers(map)
- tp5 JWT生成token验证接口安全、防止高频请求