从共享点下载文件引发错误值错误:无法解码任何 JSON 对象



我正在尝试使用python库从sharepoint下载文件。代码正在完美地连接和获取 SharePoint 的内容,但不会下载特定文件。

这是脚本:

import requests
from requests_ntlm import HttpNtlmAuth
headers = {'accept': 'application/json;odata=verbose'}
r = requests.get("https://abc.we.x/abd.doc", auth=HttpNtlmAuth('domain\User','ppusers@123'),headers=headers)
print r.json()["d"]["CustomMasterUrl"]

如果我们print j.content那么我可以看到此页面的所有 html 内容,但r.json()["d"]["CustomMasterUrl"]行给出如下错误

    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "C:Python27libsite-packagesrequestsmodels.py", line 819, in json
        return json.loads(self.text, **kwargs)
      File "C:Python27libjson__init__.py", line 338, in loads
        return _default_decoder.decode(s)
  File "C:Python27libjsondecoder.py", line 366, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:Python27libjsondecoder.py", line 384, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

如果有人有其他方法,请帮助下载文件。

提前谢谢。

我认为您可以使用cmislib从sharepoint下载文件

client = CmisClient(serverurl, username, password)
repo = client.defaultRepository
doc = repo.getObjectbyPath("PathOfFile")
result = doc.getContentStream()
c = result.read()
docFile = open("/Destination/File/Path"+doc.properties['cmis:name'],"w")
docFile.write(c)
docFile.close()

这部分代码在Alfresco服务器上工作正常,但sharepoint也应该支持cmis https://msdn.microsoft.com/en-US/library/office/jj945829.aspx。也许这可以帮助你。

感谢您的所有回复。这是工作解决方案。基本上我们缺少流写入文件。

import requests
from requests_ntlm import HttpNtlmAuth
headers = {'accept': 'application/json;odata=verbose'}
url = "https://docs.qmad.er.com/sites/cloud_BPAP/Shared%20Documents/Database%20Deliverables/20150319_Maintenance_BPAP15/20150319_Maintenance.zip"
username = 'abc\ert'  #domain\username
password = 'User@123'
r = requests.get(url, auth=HttpNtlmAuth(username,password),stream=True)
fh = open("clientNet.zip", "wb")
fh.write(r.content)
fh.close()

最新更新