SharePoint 非365版本接入简要笔记

Before of version sharePoint 365

强烈建议参考:Site Data WebService Site ,由于实际业务需求,我这边只会操作 [涉及常用网站内容讯息-ms-sitedats](MS-SITEDATS]: Message Processing Events and Sequencing Rules | Microsoft Docs)

零、基础讯息

下属讯息为拟造讯息

基础SharePoint地址(baseUrl): http://coffeeandice

二级站点(sec-site): test

用户讯息(user-msg): ringo

基础主页创建的文件夹: test1、test2

二级站点创建的文件夹: demo1、demo2

一、获取文档流程

整体的目标是为了获取已授权的网站下的文档内容,同时提供下载的方案。

1、获取次级网站内容

利用 SiteData#GetWeb 获取次级网站内容

_sWebMetadata 主要获取当前输入地址的内容,用作参考。

ArrayOf_sWebWithTime 主要获取次级已授权的内容。

通常是为了获取已授权的网站内容

例如:
1、输入网站:
  http://coffeeandice

2、响应:
  _sWebMetadata :关于http://coffeeandice 内容讯息
  ArrayOf_sWebWithTime: 展示子页面url —— http://coffeeandice/test
  

2、获取特定网站文档列表

利用SiteData#getListCollection 获取网站的目录讯息

通常是获取资源列表

例如:
1、输入网站
 http://coffeeandice
 
2、响应
_sList: 通常我们只需需要筛选baseType 为 DocumentLibrary 即可。
  test1、test2

3、额外:
这里通常为中文会出现title不匹配问题,其实我们只需要过滤出 DefaultViewUrl含有AllItems.aspx的字符内容即可。
 3.1、需要排除的元素
   SitePages、SiteAssets、Style Library、Shared Documents(这个手动添加)
 3.2、需要必带的手动元素
 Shared Documents ,这个元素为每个网站必带的默认文件列表

3、获取特定网站特定文档列表目录及文件内容

利用SiteData#enumerateFolder 获取特定列表目录及其文件内容

通常是获取文件夹和文件

例如:
1、输入网站
 http://coffeeandice
 
2、输入列表
 test
 
3、响应
     prop        value
 (1) url         test/Forms
     isFolder    true
     
 (2) url         test/test.txt
     isFolder    false

4、下载特定内容

这里涉及version 和 copy 的端点内容。

4.1、获取文件版本讯息

利用Versions#getVersions 获取特定文件的版本讯息内容

例如:
1、输入内容
http://coffeeandice

2、输入内容
 http://coffeeandice/test/demo1/demo.txt
 
3、响应内容
 一个可解析的xml结构,我们可以从中提取出当前版本的内容,一般只取第一个版本
 
 最后获取节点的url属性:  http://coffeeandice/test/demo1/demo.txt

4.2、获取文件

利用Copys#GetItem 获取特定文档字节流内容

例如:
1、输入内容
http://coffeeandice

2、输入内容
 http://coffeeandice/test/demo1/demo.txt
 
3、响应内容
 获取Holder<bytes> 转换为文件即可。

二、About SiteData(wsdl)

整体上就是关于网站内容部分的web service 端点

0、初始化讯息

wsdl:init SiteDataSoap

full wsdl : full WSDL

1、获取Web讯息 (GetWeb)

GetWeb操作用于获取有关上下文站点的元数据信息、所有子站点的信息、列表和角色定义。

wsdl:GetWeb Web Service Struct

通常我们只需要提取_sWebMetadata 结构内的内容即可,这里包含着我们需要的已授权站点信息,通常与我们传递的上下文讯息有关。

eg:例如入口的 url的 baseUrl,可以获取到 sec-site :http://coffeeandice/test

2、获取Web内上下文讯息(GetListCollection

返回有关上下文网站的所有列表的常规信息。

wsdl:GetListCollection WEbeb Service Struct

通常我们只需要提取 vLists 类型为ArrayOf_sList 结构的内容即可

3、获取列表讯息(GetList)

返回给定列表的常规信息、字段架构和访问权限。

wsdl:GetList Web Service Struct

通常我们只需要提取 _sListMetadata 即可,用于获取到列表的内容讯息。 值得注意的是需要输入的是列表的名称,否则会报错。

4、获取上下文内的文件夹内容(enumerateFolder)

返回有关指定文件夹的直接子文件夹、文档和页面的信息。

wsdl:EnumerateFolder Web Service Struct

三、About Versions(wsdl)

整体上就是关于文件版本内容的web service 端点

0、初始化讯息

wsdl:init VersionSoap

虽然初始化已经显示为None,但是实际上为

The protocol server endpoint is formed by appending "/_vti_bin/version.asmx" to the URL of the site, for example, http://www.contoso.com/Repository/_vti_bin/Versions.asmx.

full wsdl: full WSDL

1、获取文件版本讯息(getVersions)

获取输入上下文的文件名称,返回版本讯息以作其他用途,通常若为修改多次的版本,会存在多个版本号

通常我们只需要提取 result 标签即可,用于获取到列表的节点内容讯息。 值得注意的是需要输入的是结合文档上下文的名称,否则会报错。

四、About Copys (wsdl)

用于复制文件和内容转换的web service 端点

0、初始化讯息

wsdl:init CopysSoap

虽然初始化已经显示为None,但是实际上为

The protocol server endpoint is formed by appending "/_vti_bin/copy.asmx" to the URL of the site, for example, http://www.contoso.com/Repository/_vti_bin/copy.asmx.

full wsdl: full WSDL

1、获取字节流回调接口(GetItem)

用于获取字节流内容,用于下载文件

通常存在四个输入参数,我们只需要关注第一个和第四个即可。

第一个为获取到的文档上下文url。

第四个为返回的字节流内容。

我们只需要将字节流转换为文档即可。

五、调用SharePoint的方式

sharepoint 2007

1、 sample like vionita

2、 sample like vitkin

sharepoint 2013

经过实际测试,这个解决方案可以兼容SharePoint 2010

1、sample like TheAshwanik

dependce on library java-sharepoint-library

兼容性解决方案 JavaScript (full version)

声称可以兼容全部

https://aymkdn.github.io/SharepointPlus/

SharePointPlus document blog

SharePoint 2007 : Compatible until SharepointPlus v3.0.5 – SP2007 is not tested anymore

SharePoint 2010 : Compatible until SharepointPlus v5.2 – SP2010 is not tested anymore

SharePoint 2013 : Compatible until SharepointPlus v6.1.5 – SP2013 is not tested anymore

SharePoint Online : ✓ current supported version

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值