如何解决在使用Python中的REST连接到SharePoint时JSON解码器的问题&;读取数据

如何解决在使用Python中的REST连接到SharePoint时JSON解码器的问题&;读取数据,python,json,rest,sharepoint-2013,Python,Json,Rest,Sharepoint 2013,我遵循这一点,努力用python连接到sharepoint站点,并使用RESTAPI获取一些数据。然而,为了按照指南中的建议读取数据,我一直在使用JSON解码器 我一直遵循这封信的指南,并一直有同样的问题。我试图将标题更改为headers={'content-type':'application/json'},正如这里提出的另一个问题所示;但一切都没有奏效 这就是我目前所拥有的,正如指南所建议的: 导入请求 从请求\u ntlm导入HttpNtlmAuth headers={“accept”:“

我遵循这一点,努力用python连接到sharepoint站点,并使用RESTAPI获取一些数据。然而,为了按照指南中的建议读取数据,我一直在使用JSON解码器

我一直遵循这封信的指南,并一直有同样的问题。我试图将标题更改为
headers={'content-type':'application/json'}
,正如这里提出的另一个问题所示;但一切都没有奏效

这就是我目前所拥有的,正如指南所建议的:

导入请求
从请求\u ntlm导入HttpNtlmAuth
headers={“accept”:“application/json;odata=verbose”}
响应=请求。获取(“http://Sharepointsite/_api/web/,auth=HttpNtlmAuth('User','Pass'),headers=headers)
打印(response.content)
打印(response.json()
这是我收到的错误消息:

回溯(最近一次呼叫最后一次):
文件“C:/Users/User/MyProjects/ProductivityTracking/SharepointConnection/Sharepoint Integration.py”,第9行,在
打印(response.json()
json格式的文件“C:\Users\user\AppData\Local\Programs\Python37-32\lib\site packages\requests\models.py”,第897行
返回complexjson.load(self.text,**kwargs)
文件“C:\Users\User\AppData\Local\Programs\Python37-32\lib\json\\ uu_init\u_uuu.py”,第348行,在loads中
返回\u默认\u解码器。解码
文件“C:\Users\User\AppData\Local\Programs\Python37-32\lib\json\decoder.py”,第337行,在decode中
obj,end=self.raw\u decode(s,idx=\u w(s,0.end())
文件“C:\Users\User\AppData\Local\Programs\Python37-32\lib\json\decoder.py”,第355行,原始解码
从None引发JSONDecodeError(“预期值”,s,err.value)
json.decoder.JSONDecodeError:期望值:第2行第1列(字符2)

若你们能给我指出正确的方向,开始解决这个问题,那个将是非常棒的——我在stack和其他地方搜索过

其他信息-响应内容:

b'\r\n\r\n\r\n\r\n/=2&&ch[0]===\'/\'&&ch[1]==\'/\')\r\n{\r\n if(ch[2]!==\'/\')\r\n{\r\n g\u initUrl=ch.substr(1);\r\n requestUrlFull=window.location.hash.substr(2);\r\r\n}\r\r\n}{\r\n var loc=window.location.pathname;\r\n var pos=loc.indexOf(\'/\u layouts/15/start.aspx\);\r\n var hash=window.location.hash.substr(1);\r\n var hPos=hash.indexOf(\'.\'\');\r\n hPos=hPos>=0?hPos:hash.length;\r\n g\u initUrl=loc substr(0,pos)+ch;\r\n requestUrlFull=g\u initUrl+hash.substr(hPos);\r\n}\r\n\r\n如果(g\u initUrl){\r\n var delim=ch.indexOf(\'?\')!=-1?\'&\':\'?\';\r\n var xhr=new XMLHttpRequest();\r\n xhr.open(\'GET\',g\u initUrl+delim\'ajdelta=1&tartissplt1=\'+startDate,true);\r\r\r\n请求头(\'Pragma\',\'SharePointAjaxDelta=| SITES | SANDBOX:| SITES | SANDBOX | u CATALOGS | MASTERPAGE | settle.MASTER:2.15.0.0.0.15.0.5131.1000.0.FALSE.:en-US:en-US:RW\')\r\n xhr.onreadystatechange=function(){\r\n如果(xhr.readyState==4){\r\n如果(g\r\u-mdsReady=4){\r\n如果(g\r\r\n如果(g\u-mdsReady){async\r\n)管理(URLADtamu异步,URL\r\n\r\n{g_mdsReady=true;}}}};\r\n xhr.send(null);}\r\n else\r\n{g_mdsReady=true;}\r\n}\r\n\r\n/]>\r\n\r\n\n\n\n注册表(“initstrings.js”、“\\u002f\u布局\\u002f15\\u002f1033\\u002finitstrings.js rev s1253d”\\u002finitstrings.js,“\\u002f\u layouts\\u002f15\\u002f1033\\u002fstrings.js?rev=0Q8SquDYHrVJnF3A1pfsSQ\\u00253D\\u00253D”);RegisterSodDep(“strings.js”、“initstrings.js”);\nRegisterSod(“sp.init.js”;“\\u002f\u layouts\\u002f15\\u002fsp.init.js?rev=jv3kl5gboraltf7kxulq\\u0025d\\u00253D”;\nRegisterSod\\u002f\U layouts\\u002f15\\u002fScriptResx.ashx?culture=en\\u00252Dus\\u0026name=SP\\u00252ERes\\u0026rev=yNk\\u00252FhRzgBn40LJVP\\u00252BqfgdQ\\u00253D\\u00253D”;\nRegisterSod(“SP.ui.dialog.js”、“\\u002f\u002f15\\u002fsp.ui.dialog.js?rev=3OH2QQIXSB7LDU26QDQ\\u00253D\\u00253D”;“ODDEP.SP.init.js.SP.js”对话框注册表ODDEP(“sp.ui.dialog.js”、“sp.res.resx”);\nRegisterSod(“core.js”、“u002f\u layouts\\u002f15\\u002fcore.js?rev=GpU7vxyOqzS0F9OfEX3CCw\\u00253D\\u00253D”);注册表ODDEP(“core.js”、“strings.js”);\nRegisterSod(“menu.js”、“u002f\u layouts\\u002f15\\u002fmenu.js?rev=cx355jacah0zcquwku592w\\u00253D”;\nquery\\u002f\U layouts\\u002f15\\u002fmquery.js?rev=VYAJYBo5H8I3gVSL3MzD6A\\u00253D\\u00253D”);\n注册表(“callout.js”、“\\u002f\u layouts\\u002f15\\U002FMQUERT.js?rev=ryx2n4ePkYj1\\u00252falmcsxfa\\u00253D\\u00253D\\u00253D”;“callout.js”、“strings.js”);注册表ODDEP(“callout.js”;“callout.js”;“callout.js”;“registerOddep.js”;“callout.js”;“registerOddep.js”;“callout.js;\nRegisterSod(“clienttemplates.js”、“\\u002f_layouts\\u002f15\\u002fclienttemplates.js”rev=OJfMNjaofDqyBzPvjPo3XA\\u00253D\\u00253D”);RegisterSodDep(“clienttemplates.js”、“initstrings.js”);\nRegisterSod(“sharing.js”、\\u002f_layouts\\u002f15\\u002fsharing.js?rev=xxxhicic8bsw9ikvc6dga\\u00253D\\u00253D”);RegisterODDEP(“sharing.js”、“strings”);RegisterSodDep(“sharing.js”、“mQuery.js”);RegisterSodDep(“sharing.js”、“clienttemplates.js”);RegisterSodDep(“sharing.js”、“core.js”);\nRegistersSOD(“suitelinks.js”),“\\u002f\u layouts\\u002f15\\u002fsuitelinks.js?rev=rewuvu5jssadddozlcx4wpa\\u0025d\\u00253D”);RegisterSodDep(“suitelinks.js”、“strings.js”);RegisterSodDep(“suitelinks.js”、“core.js”);\n\r\n\r\n\r\n\r\n\r\n您可能试图从服务器上的安全浏览器访问此网站。请启用脚本并重新加载此页面。\r\n\r\n\r\n\r\n\r\n\r\n/\r\n\r\n\r\n\r\n\r\n/\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\t var submitHook=function(){return false;};theFo
pip install requests
pip install requests_ntlm
import requests
from requests_ntlm import HttpNtlmAuth

headers = {'accept': 'application/json;odata=verbose'}
r = requests.get("http://sp2013/sites/team/_api/web", auth=HttpNtlmAuth('domain\\admin', 'password'), headers=headers)

print(r.json()["d"]["CustomMasterUrl"])