0

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

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

我正在使用 shareplum 模块访问数据和 requests_ntlm 进行身份验证。

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

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

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 中创建 100 个具有 ID、描述和年份的数据列表。稍后我应该能够将这些数据用于其他目的。

4

2 回答 2

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)
于 2021-05-19T04:30:39.240 回答
-1

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

请尝试使用:

# this is creating shareplum object

sp_list = site_url.List('slp_references_db')

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

list_data = sp_list.GetListItems('All Items')

这是一个网址,您可以参考SharePlum 教程

如果这有帮助,请评分,谢谢

于 2020-01-27T17:01:46.260 回答