【发布时间】:2017-02-09 07:46:24
【问题描述】:
我正在尝试使用 python urllib2 通过 SharePoint REST API 访问 SharePoint 2013 文件夹中的文件。 https://msdn.microsoft.com/en-us/library/office/dn450841.aspx
即使在添加标头 'accept':'application/json;odata=verbose' 之后,我似乎也无法将响应作为 json 对象获得。
我使用的是 Python 2.7.5,urllib2,由于限制和权限限制,无法使用 python requests 模块。
如果我使用 .../_api/web/GetFolderByServerRelativeUrl('/File Name')/Files url,我会得到一个 AttributeError("'str' object has no attribute'read'")。如果我只使用网站的正常 url,我会收到响应中没有“JSON 对象”的错误。
我不知道我做错了什么以及为什么我无法从这个请求中获取任何 json?
import sys
import urllib
import urllib2
import json
from ntlm import HTTPNtlmAuthHandler
try:
url = 'https://sharepointsite/subfolder/subfolder/subfolder/Forms/AllItems.aspx/_api/web/GetFolderByServerRelativeUrl(/Folder Name)/Files'
user = r'DOMAIN\USER'
password = '*********'
req = urllib2.Request(url)
req.add_header('accept', 'application/json;odata=verbose')
passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
passman.add_password(None, url, user, password)
handler = HTTPNtlmAuthHandler.HTTPNtlmAuthHandler(passman)
opener = urllib2.build_opener(handler)
urllib2.install_opener(opener)
response = urllib2.urlopen(req)
data_json = json.load(response.read())
except Exception as e:
print '{0}'.format(e)
【问题讨论】:
标签: python json sharepoint-2013 urllib2