zoukankan      html  css  js  c++  java
  • SharePoint REST API

    博客地址: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.
    本篇就阐述到这里。

  • 相关阅读:
    html table标签 用法
    Python 爬取网页HTML代码
    git push -u origin master报错
    sed -n “3p” filename #输出文件的第3行
    puppet原理及配置
    linux开机启动详细流程
    SHELL日志分析 实例一
    真·blog
    一个傻傻的式子
    LeetCode---2. 两数相加
  • 原文地址:https://www.cnblogs.com/justinliu/p/7703765.html
Copyright © 2011-2022 走看看