首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从sharepoint下载文件时抛出错误ValueError:无法解码任何JSON对象

从sharepoint下载文件时抛出错误ValueError:无法解码任何JSON对象
EN

Stack Overflow用户
提问于 2015-04-28 20:58:24
回答 2查看 415关注 0票数 1

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

以下是脚本:

代码语言:javascript
运行
复制
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"]行给出的错误如下

代码语言:javascript
运行
复制
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "C:\Python27\lib\site-packages\requests\models.py", line 819, in json
        return json.loads(self.text, **kwargs)
      File "C:\Python27\lib\json\__init__.py", line 338, in loads
        return _default_decoder.decode(s)
  File "C:\Python27\lib\json\decoder.py", line 366, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Python27\lib\json\decoder.py", line 384, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

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

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2015-04-28 21:13:14

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

代码语言:javascript
运行
复制
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也许这能帮到你。

票数 0
EN

Stack Overflow用户

发布于 2015-05-05 13:05:46

感谢所有的回复。这是一个有效的解决方案。基本上,我们遗漏了写入文件的流。

代码语言:javascript
运行
复制
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()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29920227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档