Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shareplum HTTP Post失败-Python Sharepoint_Python_Sharepoint_Shareplum - Fatal编程技术网

Shareplum HTTP Post失败-Python Sharepoint

Shareplum HTTP Post失败-Python Sharepoint,python,sharepoint,shareplum,Python,Sharepoint,Shareplum,我正在尝试使用Shareplum从Sharepoint获取项目列表,但仅通过访问该网站似乎就给了我一个错误: from shareplum import Site, Office365 from shareplum.site import Version main_link = 'https://xxxxxxx.sharepoint.com' whole_link = 'https://xxxxxxxxx.sharepoint.com/sites/TheSiteNeededToRun' ##

我正在尝试使用Shareplum从Sharepoint获取项目列表,但仅通过访问该网站似乎就给了我一个错误:

from shareplum import Site, Office365
from shareplum.site import Version

main_link = 'https://xxxxxxx.sharepoint.com'
whole_link = 'https://xxxxxxxxx.sharepoint.com/sites/TheSiteNeededToRun'

###LINE GIVING THE ERROR###    
cookie = Office365(main_link, username=usr, password=pwd).GetCookies()
###LINE GIVING THE ERROR###

site = Site(whole_link, version=Version.v365, authcookie=cookie)

mnps_list = site.List(mnps_list_name)
data = mnps_list.GetListItems('All Items')
这是一个完整的错误(最后,它说了一些关于“Shareplum HTTP Post失败”的内容,因此标题是):

C:\Users\victoraz\Documents\auto-mnp>python-access-sp.py
回溯(最近一次呼叫最后一次):
文件“C:\Users\victoraz\AppData\Local\Programs\Python\Python39\lib\site packages\urllib3\connection.py”,第156行,位于康涅狄格州新州
conn=connection.create\u连接(
文件“C:\Users\victoraz\AppData\Local\Programs\Python\Python39\lib\site packages\urllib3\util\connection.py”,第61行,位于create\u connection中
对于socket.getaddrinfo(主机、端口、系列、socket.SOCK\u流)中的res:
文件“C:\Users\victoraz\AppData\Local\Programs\Python\Python39\lib\socket.py”,第953行,位于getaddrinfo中
对于_socket.getaddrinfo(主机、端口、系列、类型、协议、标志)中的res:
socket.gaierror:[Errno 11001]getaddrinfo失败
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“C:\Users\victoraz\AppData\Local\Programs\Python\Python39\lib\site packages\urllib3\connectionpool.py”,urlopen中第665行
httplib\u response=self.\u发出请求(
文件“C:\Users\victoraz\AppData\Local\Programs\Python\Python39\lib\site packages\urllib3\connectionpool.py”,第376行,在请求中
自我验证连接(连接)
文件“C:\Users\victoraz\AppData\Local\Programs\Python\Python39\lib\site packages\urllib3\connectionpool.py”,第994行,位于“验证\u conn”
连接
文件“C:\Users\victoraz\AppData\Local\Programs\Python\Python39\lib\site packages\urllib3\connection.py”,第300行,在connect中
conn=自我。_new_conn()
文件“C:\Users\victoraz\AppData\Local\Programs\Python\Python39\lib\site packages\urllib3\connection.py”,第168行,位于康涅狄格州的新州
提出新的连接错误(
urllib3.exceptions.NewConnectionError::未能建立新连接:[Errno 11001]getaddrinfo失败
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“C:\Users\victoraz\AppData\Local\Programs\Python\Python39\lib\site packages\requests\adapters.py”,第439行,在send中
resp=conn.urlopen(
文件“C:\Users\victoraz\AppData\Local\Programs\Python\Python39\lib\site packages\urllib3\connectionpool.py”,urlopen中第719行
重试次数=重试次数。增量(
文件“C:\Users\victoraz\AppData\Local\Programs\Python\Python39\lib\site packages\urllib3\util\retry.py”,第436行,增量
引发MaxRetryError(_池、url、错误或响应错误(原因))
urllib3.exceptions.MaxRetryError:HTTPSConnectionPool(host='login.microsoftonline.com',port=443):url:/extSTS.srf超过了最大重试次数(导致
by NewConnectionError(':未能建立新连接:[Errno 11001]
getaddrinfo失败('))
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“C:\Users\victoraz\AppData\Local\Programs\Python\Python39\lib\site packages\shareplum\request\u helper.py”,post第16行
response=session.post(url,**kwargs)
文件“C:\Users\victoraz\AppData\Local\Programs\Python\Python39\lib\site packages\requests\api.py”,post第119行
返回请求('post',url,data=data,json=json,**kwargs)
文件“C:\Users\victoraz\AppData\Local\Programs\Python\Python39\lib\site packages\requests\api.py”,请求中的第61行
return session.request(method=method,url=url,**kwargs)
文件“C:\Users\victoraz\AppData\Local\Programs\Python\Python39\lib\site packages\requests\sessions.py”,请求中第530行
resp=自我发送(准备,**发送)
文件“C:\Users\victoraz\AppData\Local\Programs\Python\Python39\lib\site packages\requests\sessions.py”,第643行,在send中
r=适配器.send(请求,**kwargs)
文件“C:\Users\victoraz\AppData\Local\Programs\Python\Python39\lib\site packages\requests\adapters.py”,第516行,在send中
raise ConnectionError(e,请求=请求)
requests.exceptions.ConnectionError:HTTPSConnectionPool(host='login.microsoftonline.com',port=443):url:/extSTS.srf超过了最大重试次数(由NewConnectionError引起(':未能建立新连接:[Errno 11001]getaddrinfo失败])
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“C:\Users\victoraz\Documents\auto-mnp\access-sp.py”,第11行,在
cookie=Office365(主链接,用户名=usr,密码=pwd)
文件“C:\Users\victoraz\AppData\Local\Programs\Python\Python39\lib\site packages\shareplum\office365.py”,第88行,在get\u cookies中
sectoken=self.get\u security\u令牌(self.username、self.password)
文件“C:\Users\victoraz\AppData\Local\Programs\Python\Python39\lib\site packages\shareplum\office365.py”,第66行,在get\u security\u令牌中
响应=发布(请求、url、数据=正文)
文件“C:\Users\victoraz\AppData\Local\Programs\Python\Python39\lib\site packages\shareplum\request\u helper.py”,post第20行
引发ShareplumRequestError(“SharePlumHTTP Post失败”,错误)
shareplum.errors.ShareplumRequestError:shareplum HTTP Post失败:HTTPSConnectionPool(host='login.microsoftonline.com',port=443):url:/extSTS.srf超过最大重试次数(由NewConnectionError引起(':未能建立新连接:[Errno 11001]getaddrinfo失败])
我怀疑函数.GetCookies(),因为我几乎注释了从.GetCookies()到最后一行的所有内容,并且毫无例外地运行了模块(尽管程序也没有做任何事情)。

我的测试代码:

from shareplum import Site
from shareplum import Office365
from shareplum.site import Version

authcookie = Office365('https://contoso.sharepoint.com/', username='amos@contoso.onmicrosoft.com', password='password').GetCookies()
site = Site('https://contoso.sharepoint.com/sites/dev/', version=Version.v2016, authcookie=authcookie)

list=site.List("test3");
data=list.GetListItems("All Items");
print(data)
测试结果: 检查您是否启用了多因素身份验证。

这是如何回答问题的?尤其是当
getaddrinfo失败时
意味着存在DNS问题?因此,讨论论坛不像Technet论坛,它是一个问答网站。
from shareplum import Site
from shareplum import Office365
from shareplum.site import Version

authcookie = Office365('https://contoso.sharepoint.com/', username='amos@contoso.onmicrosoft.com', password='password').GetCookies()
site = Site('https://contoso.sharepoint.com/sites/dev/', version=Version.v2016, authcookie=authcookie)

list=site.List("test3");
data=list.GetListItems("All Items");
print(data)