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

    博客地址:http://blog.csdn.net/FoxDave

    本篇主要讲解如何应用$batch查询选项来批量执行REST/OData请求,它将多个操作捆绑到一个请求中,可以改进应用程序的性能。

    $batch选项执行摘要

    SharePoint Online(也包括SharePoint 2016)和Office 365的API实现了OData的$batch查询选项,下面罗列了一些主要的点:

    1. 请求URL由根服务URL和$batch选项构成,例如https://fabrikam.sharepoint.com/_api/$batch或https://fabrikam.office365.com/api/v1.0/me/$batch。

    2. HTTP请求的MIME类型为multipart/mixed。

    3. 请求的body被请求头的边界字符串分割成了相对独立的部分。

    4. 请求body的每个部分有自己的HTTP动作符和REST URL,还有内部的body。

    5. 一个部分可以是读操作或写操作的变更集合或函数调用。变更集合本身的MIME类型是multipart/mixed,它里面的部分包含插入、更新或删除操作。

    6. 最后一点需要注意,不支持“全部或没有”这种表达,变更集合中的操作是相对独立的,任何失败的部分都不会影响其他的,并且也不会回滚,这一点在开发的时候需要留意。

    代码示例

    C#:OfficeDev/Core.ODataBatch

    JavaScript:andrewconnell/sp-o365-rest

    请求和响应的示例

    下面是一个带有两个GET操作的HTTP请求从两个不同列表获取列表项标题的请求和响应示例。

    POST https://fabrikam.sharepoint.com/_api/$batch HTTP/1.1
    Authorization: Bearer <access token omitted>
    Content-Type: multipart/mixed; boundary=batch_e3b6819b-13c3-43bb-85b2-24b14122fed1
    Host: fabrikam.sharepoint.com
    Content-Length: 527
    Expect: 100-continue
    
    --batch_e3b6819b-13c3-43bb-85b2-24b14122fed1
    Content-Type: application/http
    Content-Transfer-Encoding: binary
    
    GET https://fabrikam.sharepoint.com/_api/Web/lists/getbytitle('Composed%20Looks')/items?$select=Title HTTP/1.1
    
    --batch_e3b6819b-13c3-43bb-85b2-24b14122fed1
    Content-Type: application/http
    Content-Transfer-Encoding: binary
    
    GET https://fabrikam.sharepoint.com/_api/Web/lists/getbytitle('User%20Information%20List')/items?$select=Title HTTP/1.1
    
    --batch_e3b6819b-13c3-43bb-85b2-24b14122fed1--
    下面是带有一个DELETE操作和一个GET操作的请求示例
    POST https://fabrikam.sharepoint.com/_api/$batch HTTP/1.1
    Authorization: Bearer <access token omitted>
    Content-Type: multipart/mixed; boundary=batch_7ba8d60b-efce-4a2f-b719-60c27cc0e70e
    Host: fabrikam.sharepoint.com
    Content-Length: 647
    Expect: 100-continue
    
    --batch_7ba8d60b-efce-4a2f-b719-60c27cc0e70e
    Content-Type: multipart/mixed; boundary=changeset_efb6b37c-a5cd-45cb-8f5f-4d648006e65d
    
    --changeset_efb6b37c-a5cd-45cb-8f5f-4d648006e65d
    Content-Type: application/http
    Content-Transfer-Encoding: binary
    
    DELETE https://fabrikam.sharepoint.com/_api/Web/lists/getbytitle('OldList') HTTP/1.1
    If-Match: "1"
    
    --changeset_efb6b37c-a5cd-45cb-8f5f-4d648006e65d--
    --batch_7ba8d60b-efce-4a2f-b719-60c27cc0e70e
    Content-Type: application/http
    Content-Transfer-Encoding: binary
    
    GET https://fabrikam.sharepoint.com/_api/Web/lists HTTP/1.1
    
    --batch_7ba8d60b-efce-4a2f-b719-60c27cc0e70e--
    感兴趣想了解更多关于OData库信息的可以访问官网

    SharePoint REST接口部分的讲述就到这里。

  • 相关阅读:
    SQL SERVER数据库使用过程中系统提示死锁处理办法
    SQL Server中Union和Union All用法?
    SQL Server 数据库bak备份文件还原操作和mdf文件附加操作
    SQL SERVER数据库Left Join用法
    SQL SERVER 数据库自动备份及定期删除设置步骤
    推荐一个学习SQL Server基本语法及其他编程的网站
    SQL SERVER数据库内 FOR XML PATH 函数用法
    前端常用正则表达式
    JS—DOM查询
    JS原生DOM增删改查操作
  • 原文地址:https://www.cnblogs.com/justinliu/p/8443659.html
Copyright © 2011-2022 走看看