实验性python sharepoint连接器

haufe.sharepoint的Python项目详细描述


haufe.sharepoint

haufe.sharepoint 允许与基于python的应用程序交互 sharepoint通过sharepoint soap api列出 Microsoft SharePoint Services 3.0)。

功能

  • 检索sharepoint列表定义
  • 检索所有列表项
  • 添加列表项
  • 删除列表项
  • 更新列表项
  • 一般查询
  • 通过NTlm进行身份验证

用法

要连接到sharepoint,您需要以下参数

  • 列出wsdl url
  • 要与之交互的相关sharepoint列表的id/名称
  • 有效的sharepoint用户名和密码(具有相关权限)

API使用

连接到SharePoint

要连接到sharepoint,您需要导入 连接器 方法,它是工厂返回一个 listendpoint 实例:

> from haufe.sharepoint import Connector
> url = 'http://sharepoint/bereiche/onlineschulungen/'
> username = 'YourDomain\\account'
> password = 'secret'
> list_id = '60e3f442-6faa-4b49-814d-2ce2ec88b8d5'
> service = Connector(url, username, password, list_id)

sharepoint列表模型自省

列表模式的内部可以通过 model 属性获得 在 listendpoint 实例中:

> fields = service.model

列表的主键通过 主键 属性公开:

> primary_key = service.primary_key

所有必需字段名和所有字段的列表可通过以下途径获得:

> all_fields = service.all_fields
> required_fields = service.required_fields

删除列表项

为了按主键值删除列表项,可以使用 方法:

> result = service.deleteItems('54', '55')
> print result
> print result.result
> print result.ok

result 对象是提供 指示整体成功或整体失败的标志 手术的结果。通过在 parsedsoapresult 实例的result 属性。

更新列表项

可以通过传递一个或多个词典来更新现有的列表项 到 updateitems() 。每个dict必须包含相关主键的值 (在这种情况下, id 字段):

> data = dict(ID='77', Title=u'Ruebennase', FirstName=u'Heinz')
> result = service.updateItems(data)
> print result
> print result.result
> print result.ok

updatetems() 不会引发任何异常。相反你需要 检查result对象的 ok 属性,如果需要,检查 结果的项 属性:

# update an item (non-existing ID)
> data = dict(ID='77000', Title=u'Becker')
> result = service.updateItems(data)
> print result
> print result.result
> print result.ok

将项目添加到列表中

additems() 方法的工作方式类似于 updateitems() 方法 但是没有传入主键(因为它是未知的 在客户端)。添加后分配的主键值 列表项应该可以从 结果 对象中获得:

> data = dict(Title=u'Ruebennase', FirstName=u'Heinz')
> result = service.addItems(data)
> print result
> print result.result
> print result.ok
> print 'assigned ID:', result.result[0]['row']._ows_ID

检索单个列表项

getitem() 将按主键值返回单个项:

> data = service.getItem('77')

检索所有列表项

getitems() 将返回所有列表项(小心使用!)

> from haufe.sharepoint import Connector
> url = 'http://sharepoint/bereiche/onlineschulungen/'
> username = 'YourDomain\\account'
> password = 'secret'
> list_id = '60e3f442-6faa-4b49-814d-2ce2ec88b8d5'
> service = Connector(url, username, password, list_id)
0

通用查询API

查询(**kw) 可用于使用任意查询参数查询列表 其中每个子查询必须执行完全匹配。所有子查询都是组合的 使用逻辑和:

> from haufe.sharepoint import Connector
> url = 'http://sharepoint/bereiche/onlineschulungen/'
> username = 'YourDomain\\account'
> password = 'secret'
> list_id = '60e3f442-6faa-4b49-814d-2ce2ec88b8d5'
> service = Connector(url, username, password, list_id)
1

结果将返回一个指定列表项的python列表。 所有查询参数都必须表示列表的有效字段名(valueerror 否则会引发异常)。

为了在所有查询参数中执行子字符串搜索,您可以 传递 mode="contains" 参数。指定前缀搜索范围 所有查询参数,使用 mode='beginswith'

视图SUpPORT/H4>

haufe.sharepoint 支持sharepoint的列表视图。你也可以 设置用于查询sharepoint的默认视图,如:

> from haufe.sharepoint import Connector
> url = 'http://sharepoint/bereiche/onlineschulungen/'
> username = 'YourDomain\\account'
> password = 'secret'
> list_id = '60e3f442-6faa-4b49-814d-2ce2ec88b8d5'
> service = Connector(url, username, password, list_id)
2

或者在每个查询的基础上通过传递视图名称来选择视图 as viewname 方法参数(适用于 getitem() getitems() query() ):

> from haufe.sharepoint import Connector
> url = 'http://sharepoint/bereiche/onlineschulungen/'
> username = 'YourDomain\\account'
> password = 'secret'
> list_id = '60e3f442-6faa-4b49-814d-2ce2ec88b8d5'
> service = Connector(url, username, password, list_id)
3

命令行用法

haufe.sharepoint 附带了一个小型的sharepoint检查器命令行实用程序:

> from haufe.sharepoint import Connector
> url = 'http://sharepoint/bereiche/onlineschulungen/'
> username = 'YourDomain\\account'
> password = 'secret'
> list_id = '60e3f442-6faa-4b49-814d-2ce2ec88b8d5'
> service = Connector(url, username, password, list_id)
4

其中,<;cmd>;是 字段

要求

  • Python2.4或更高版本(不支持Python3.x)

测试

  • 使用python 2.4-2.6进行测试
  • suds 0.4.1测试版或suds主干签出( https://fedorahosted.org/suds/ )。肥皂水0.4.0不够!
  • python ntlm 1.0
  • Microsoft SharePoint Services 3.0 API

作者

为德国弗莱堡豪夫莱克斯韦有限公司(Haufe Lexware GmbH)编写。

< div > 佐皮克斯有限公司 安德烈亚斯·荣格 夏洛滕斯特。37/1
D-72070图宾根
www.zopyx.com

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在Windows 7上配置Apache Ant和Ivy   java使用带有片段的节,NullPointerException   java如何使用Gradle设置环境变量,而不是在Exec范围内?   JavaEclipse(3.5和3.6)在ubuntu中崩溃   java如何通过引导类加载器以编程方式加载另一个类?   java无法使用自定义视图在画布上绘制   java使用Spring引导邮件发送html表   java“\n”在导出到时不工作。jar文件   amazon web services在AWS SDK for Java v2上添加了Gradle依赖项   java在包含ClientBundle的包中有一个成员ClientBundle是一种好的做法吗?   java如何在JDBC中建立连接池?   java线程安全但快速访问“最终最终”变量?   谷歌地图上的MarkerDrag没有更新标记的。getPosition()Android Java   javajavaconfig:javax类型。servlet。ServletContext和javax。servlet。无法解析ServletException   无法使用JAVAXB从Java中的XML文件读取数据   java Change ImageView触控可绘制矢量颜色   java在JUnit5中,如何模拟返回void的静态方法?我们可以使用导入组织吗。莫基托。模仿静态?   继承如何将这个Java接口和继承结构转换为Golang?   多个请求的java httpclient超时   JavaSelenium不能使用Actions类来执行只需几个步骤的操作,有什么问题吗?