【发布时间】:2020-09-11 05:03:42
【问题描述】:
我需要将共享点列表保存为 excel/csv 文件。为此,我遵循了两个 SO 链接,
Get SharePoint List with Python
SharePlum error : "Can't get User Info List"
我的代码是这样的,
import pandas as pd
from shareplum import Site
from requests_ntlm import HttpNtlmAuth
cred = HttpNtlmAuth("email_id", "password")
site = Site('https://companyname.sharepoint.com/sites/analyticsandml', auth=cred)
sp_list = site.List('Client Office List') # this creates SharePlum object
data = sp_list.GetListItems('All Items') # this will retrieve all items from list
data_df = pd.DataFrame(data[0:])
data_df.to_excel("data.xlsx")
print("Content of share point list is saved in a file.")
我收到以下错误:
shareplum.errors.ShareplumRequestError: Shareplum HTTP Post Failed : 403 Client Error: Forbidden for url: https://companyname.sharepoint.com/sites/analyticsandml/_vti_bin/lists.asmx
请帮帮我。
注意: @Lee_MSFT 在运行您的代码版本时,我得到以下错误快照,
追溯: 使用基于 shareplum 的代码后,出现以下错误,
我的观点:当您使用 office365 而没有像 SecureAuth 这样的其他安全层时,基于 Shareplum 的解决方案可以工作。如果启用了 MFA,就像我的情况一样,它会给你无效的凭据错误。
【问题讨论】:
-
Shareplum HTTP Post Failed : 403 Client Error: Forbidden for urluser-agent,如另一个SO thread 所示,看看是否有帮助。 -
我试过了,但没用。错误是,TypeError: Site() got an unexpected keyword argument 'headers'。还用 GetListItems() 尝试过,但没有成功。
标签: python python-3.x pandas sharepoint sharepoint-online