博客地址: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请求导航的数据结构相关推荐

  1. SharePoint REST API - 一个请求批量操作

    博客地址:http://blog.csdn.net/FoxDave 本篇主要讲解如何应用$batch查询选项来批量执行REST/OData请求,它将多个操作捆绑到一个请求中,可以改进应用程序的性能 ...

  2. [sharepoint]rest api文档库文件上传,下载,拷贝,剪切,删除文件,创建文件夹,修改文件夹属性,删除文件夹,获取文档列表...

    写在前面 最近对文档库的知识点进行了整理,也就有了这篇文章,当时查找这些接口,并用在实践中,确实废了一些功夫,也为了让更多的人走更少的弯路. 系列文章 sharepoint环境安装过程中几点需要注意的 ...

  3. SharePoint REST API contextinfo的使用

    前言 最近在请求SharePoint API的时候碰到403错误,很明显没有权限,那么,为什么呢?SharePoint页面中应该有上下文才是.好吧,如果你也遇到这样的问题,就先看看请求一下contex ...

  4. SharePoint REST API - 基本操作(一)

    博客地址:http://blog.csdn.net/FoxDave 本文讲述如何应用SharePoint的REST接口完成基本的增删查改操作. 使用SharePoint客户端API和REST服务进 ...

  5. java跨域权重_爱站权重查询 API 接口请求调用

    原标题:爱站权重查询 API 接口请求调用 爱站权重查询 API 接口在网上已经很多且大都封装成了 API 供别人调用.支持前台跨域请求,以GET/POST方式提交即可.爱站权重查询 API 接口可以 ...

  6. API HTTP 请求调试:Postman

    参考: Postman 是一个非常棒的Chrome扩展,提供功能强大的API & HTTP 请求调试. 它能够发送任何类型的HTTP requests (GET, HEAD, POST, PU ...

  7. 谷歌地图API位置请求_Google Maps API

    谷歌地图API位置请求  Google maps api 以xml格式传回请求的地址:http://maps.google.com/maps/api/geocode/xml?latlng=39.910 ...

  8. (0029) iOS 开发之API HTTP 请求调试网站

    API & HTTP 请求调试网站||软件 1.Apizza 2.Requests: 让 HTTP 服务人类 3.Postman

  9. 请求接口返回的是一个html_搜狗美图 API 接口请求调用

    搜狗美图 API 接口在网上已经很多且大都封装成了 API 供别人调用.支持前台跨域请求,以POST方式提交图片即可.搜狗美图 API 接口每日都会更新一张美图,本 API 接口可选择生成当日美图,也 ...

最新文章

  1. SpringBoot-web开发(二): 页面和图标定制(源码分析)
  2. YC中国被撤,陆奇独立运营个人新品牌「奇绩创坛」
  3. python post请求 上传图片_利用python模拟实现POST请求提交图片的方法
  4. django使用ckeditor富文本编辑器-转
  5. boost::math模块实现图表显示使用 Lambert W 函数计算电流的测试程序
  6. JavaScript字符串操作方法大全,包含ES6方法 1
  7. poj hdu Tian Ji -- The Horse Racing 贪心
  8. 使用vue组件搭建网页应用
  9. 内核堆栈 用户堆栈_弹性堆栈介绍
  10. 操作系统上机作业-- 使用信号量解决生产者、计算者、消费者问题(多线程)
  11. WIFI,WiMAX和WAPI
  12. 四边形可以分为几类_大件物流有哪些公司?大件物流公司的业务可以分为哪几类...
  13. JavaScript学习 第二课(二)
  14. 【OpenCV】透视变换 Perspective Transformation
  15. 如何安装ipa文件(二)
  16. 数库“SmarTag”数据体系正式登陆Factset另类数据市场
  17. Java开发求职总结
  18. Geronimo入门与进阶
  19. 1124 Raffle for Weibo Followers(map)
  20. tp5 JWT生成token验证接口安全、防止高频请求

热门文章

  1. php校园二手旧书捐赠回收系统毕业设计
  2. Ubuntu双系统+pytorch环境搭建日记
  3. JMeter(十三):借用Jmeter连接数据库 ,获取短信验证码
  4. python爬取微博用户信息(四)—— 爬取用户信息的功能函数
  5. 用java语言实现汉诺塔问题 (Java经典编程案例)
  6. QCC304X/QCC514X DFU/OTA升级精讲
  7. mpvue,koa开发微信小程序(二)网络请求相关
  8. vNext中ABP的Exception的Http中的Status Code
  9. List 之按照中文拼音首字母排序
  10. mtk RF配置步骤三