博客
关于我
[sharepoint]Rest api相关知识(转)
阅读量:797 次
发布时间:2023-03-28

本文共 1577 字,大约阅读时间需要 5 分钟。

SharePoint 2013 REST API入门与实践

最近,我又开始深入学习SharePoint 2013的REST API,通过对接SharePoint REST服务,获取站点信息、Items以及Fields变得颇为顺手。结合OData查询,开发效率也有了很大提升。以下是一些学习过程中收集的知识点和实践经验,供有类似需求的开发者参考。


SharePoint REST 端点URI结构

在使用SharePoint REST服务访问资源之前,首先需要明确目标资源对应的URI端点。这些URI尽量模仿SharePoint客户端对象模型中的API签名,例如:

  • 客户端对象模型方法
    List.GetByTitle(listname).GetItems()
  • REST端点
    http://server/site/_api/lists/getbytitle('listname')/items

需要注意的是,在某些情况下,REST端点的URI结构会有所不同,特别是涉及复杂类型参数的方法。


SharePoint REST服务URI语法结构

SharePoint REST服务URI的通用语法结构如下(如图所示):

http://
/

其中,{入口点}表示访问特定功能的入口点,{参数}表示需要传递的参数。


确定SharePoint 2013 REST服务端点

构造REST服务端点的步骤如下:

  • 从REST服务引用开始

    http://server/site/_api
  • 指定入口点

    • 访问网站集合
      http://server/site/_api/site
    • 访问特定网站
      http://server/site/_api/web
  • 导航至目标资源

    • 获取列表
      http://server/site/_api/web/lists/getbytitle('listname')
    • 获取列表项
      http://server/site/_api/web/lists/getbytitle('listname')/items

  • 使用参数在REST服务URI中指定参数

    SharePoint REST服务支持通过URI查询字符串传递参数,以下是常见语法:

    • 直接指定参数值

      http://server/site/_api/web/applyWebTemplate("STS#0")
    • 使用参数别名并在查询字符串中指定实际值

      http://server/site/_api/web/applyWebTemplate(title=@template)?@template="STS#0"

    需要注意的是,参数别名在传递复杂类型时不支持。


    在REST服务调用中使用字典作为参数值

    对于需要传递字典类型的方法,参数值可以通过查询字符串的形式传递,例如:

    http://server/site/_api/web/applyWebTemplate?template=@template&@template="STS#0"

    使用静态方法和属性构造REST服务URI

    对于静态方法和属性,URI构造方式如下:

    • 静态方法

      http://server/site/_api/SP.Utility.AssetsLibrary/id
    • 静态属性

      http://server/site/_api/SP.Utility.assetsLibrary/id

    总结

    通过以上学习和实践,我对SharePoint 2013 REST API有了更深入的理解。开发过程中, MSDN文档成为了不可或缺的参考资料。希望这些内容能为有类似需求的开发者提供帮助。


    参考文章

    你可能感兴趣的文章
    Objective-C实现单词计数(附完整源码)
    查看>>
    Objective-C实现单链表反转(附完整源码)
    查看>>
    Objective-C实现博福特密码算法(附完整源码)
    查看>>
    Objective-C实现卡尔曼滤波(附完整源码)
    查看>>
    Objective-C实现卡尔曼滤波(附完整源码)
    查看>>
    Objective-C实现卡尔曼滤波(附完整源码)
    查看>>
    Objective-C实现压缩文件夹(附完整源码)
    查看>>
    Objective-C实现原型模式(附完整源码)
    查看>>
    Objective-C实现双向A*算法(附完整源码)
    查看>>
    Objective-C实现双向广度优先搜索算法(附完整源码)
    查看>>
    Objective-C实现双向循环链表(附完整源码)
    查看>>
    Objective-C实现双向链表(附完整源码)
    查看>>
    Objective-C实现双端队列算法(附完整源码)
    查看>>
    Objective-C实现双线性插值(附完整源码)
    查看>>
    Objective-C实现双重链表(附完整源码)
    查看>>
    Objective-C实现反向传播神经网络算法(附完整源码)
    查看>>
    Objective-C实现反转位算法(附完整源码)
    查看>>
    Objective-C实现反转字符串算法(附完整源码)
    查看>>
    Objective-C实现合并两棵二叉树算法(附完整源码)
    查看>>
    Objective-C实现后缀表达式(附完整源码)
    查看>>