如何使用python shaplum模块打印SharePoint列表?

时间:2019-05-20 15:07:04

标签: python python-3.x ntlm-authentication

我是python的新手,正在努力解决一个问题。我的要求是从共享点URL复制共享点列表的项,例如“ ID”,“描述”和“年份”列数据。

https://test.test1.com/discovery/pmtoolkit/WorkForceManagement/SLP/Lists/slp_references_db/AllItems.aspx

我正在使用shareplum模块访问数据,并使用request_ntlm进行身份验证。

身份验证成功,我的身份验证请求获得200k的确认。

但是我无法访问列表数据本身。请帮助我解决问题。

from shareplum import Site
from requests_ntlm import HttpNtlmAuth

username = "Sasken\\test"
password = "test@4321"
site_url = "https://kenpoint.sasken.com/discovery/pmtoolkit/WorkForceManagement/SLP/Lists/slp_references_db/AllItems.aspx"
r = requests.get(site_url, auth=HttpNtlmAuth(site_url + username, password))
print(r.status_code)

sp_list = site_url.List('slp_references_db')

list_data = sp_list.GetListItems()
<ipython-input-141-9baf9625eec7> in <module>()
      9 print(r.status_code)
     10 
---> 11 sp_list = site_url.List('AllItems')
     12 
     13 list_data = sp_list.GetListItems()

AttributeError: 'str' object has no attribute 'List'

有人可以帮助我让我知道我在做什么错误以及如何消除此错误并将每行的列表数据复制到python列表中。如果它有100行,则在python中用ID,描述和年份创建100个数据列表。以后我应该可以将这些数据用于其他目的。

2 个答案:

答案 0 :(得分:1)

我使用 Shareplum 包来获取 SharePoint 列表项。请参考以下帮助我解决类似问题的代码。

from shareplum import Office365, Site
from shareplum.site import Version
authcookie = Office365("https://yoururl.sharepoint.com/", username=Username, password=Password).GetCookies()
site = Site("https://yoururl.sharepoint.com/sites/site-name", version=Version.v365, authcookie=authcookie)
sp_list = site.List('your_list_name')
fields=['ID','Description','Year']
sp_data = sp_list.GetListItems(fields=fields)

答案 1 :(得分:-1)

我对该模块也很陌生并试图理解,但是不幸的是我无法获得带有示例的详细文档

请尝试使用:

# this is creating shareplum object

sp_list = site_url.List('slp_references_db')

使用以下行可以指定要提取的所有项目或行数:

list_data = sp_list.GetListItems('All Items')

这里是一个网址,您可以参考SharePlum Tutorial

请帮忙打分,谢谢