SharePoint REST API - REST请求导航的数据结构

原创 2017年05月01日 11:54:29

博客地址: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 PropertyDescription
webFullUrl获取最近网站的ServerRelativeURL。
siteFullUrl获取网站集中根网站的ServerRelativeURL。如果最近网站就是根网站,该属性值跟webFullUrl相同。
formDigestValue获取服务器请求的表单摘要。
LibraryVersion获取REST库的当前版本。
SupportedSchemaVersions获取支持的REST/CSOM库的版本清单。
WebInfo对象

WebInfo propertyDescription
CreatedGets a value that specifies when the site was created.
DescriptionGets or sets the description for the site.
IdGets a value that specifies the site identifier.
LanguageGets a value that specifies the locale ID (LCID) for the language that is used on the site.
LastItemModifiedDateGets a value that specifies when an item was last modified in the site.
TitleGets or sets the title for the site.
WebTemplateIdGets the identifier of the site template.
本篇就阐述到这里。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

sharepoint rest search api

  • 2015-01-28 17:26
  • 4.40MB
  • 下载

SharePoint REST API - 基本操作(一)

博客地址:http://blog.csdn.net/FoxDave 你可以使用SharePoint提供的REST接口执行基本的增删查改操作。REST接口暴露了所有的SharePoint客户端API中可...

SharePoint REST API - 概述

博客地址:http://blog.csdn.net/FoxDaveSharePoint REST API不同于传统的Server Object Model和Client Object Model,是一...

SoapUI Groovy读取Excel + 数据给REST API + Assert Json

目录: 前言 SoapUI 设置REST Rquest请求 Groovy 读取Excel传给TestCase设置的Properties Script Assertion解析Json 总结 一. 前言 ...
  • Temanm
  • Temanm
  • 2016-11-17 20:11
  • 2321

REST Client组件例子,及获取数据api的一些知识

通过该组件可以访问该地理位置API。其URL为 http://api.map.baidu.com/geocoder?address=%E5%8C%97%E4%BA%AC&&output=json&s...

sharepoint rest userprofile

  • 2015-10-26 10:19
  • 303B
  • 下载

rest api请求时token的注入

申明:本文主要以neutronclient为例进行说明 在请求neutronserver时,需要先创建neutronclient,再通过neutronclient访问neutron server。例如...

百度语音识别REST API——通过使用Http网络请求方式获得语音识别功能

较之开发者常用的获取语音识别功能的方法,本方法最大的优势是轻量级,不需要在所开发的应用中集成任何SDK开发工具包,也不需要在测试机中添加任何识别引擎软件,开发者只要了解Http网络请求以及百度语音识别...

Spring Boot对表单实体做REST API请求自动封装验证

阅读Spring.io官网的valid表单验证demo和教程。我先说一下spring Boot官方的教程,然后再简单说一下统一验证管理的一些写法方便懒人或者说代码优化。 表单的注解 需要项目依赖于hi...
  • quuqu
  • quuqu
  • 2017-06-30 17:18
  • 983

关于SharePoint REST中的授权的研究

关于SharePoint REST中的授权的研究
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)