gpt4 book ai didi

python - 从 Sharepoint rest api 下载文件时出现 400 错误

转载 作者:行者123 更新时间:2023-11-28 16:31:50 26 4
gpt4 key购买 nike

我正在尝试使用 Python 通过 REST API 从共享点下载文件。这是我的代码:

import requests
from requests_ntlm import HttpNtlmAuth

req = requests.get("http://sharepoint/sites/publishing/sales/_api/web/getfilebyserverrelativeurl('\Documents\Folder\data_04202015.csv')",auth=HttpNtlmAuth('domain\\username','password'))
print req.status_code

如果请求的 url 是“http://sharepoint/sites/publishing/sales/_api/web”,返回代码将为 200 ok,但当尝试使用 GetFileByServerRelativeUrl 时,它将返回 400。

最佳答案

最后我可以使用 sharepoint library 访问这些文件

文件路径如下:http://sharepoint/sites/publishing/sales/Sales_Distribution/Data/record.csv

请注意,如果您尝试访问文件夹下的文件,您必须指定路径根从/sites/...

from sharepoint import SharePointSite, basic_auth_opener
import urllib2
from ntlm import HTTPNtlmAuthHandler

user = 'domain\username'
password = "password"

server_url = "http://sharepoint/"
site_url = server_url + "sites/publishing/sales/"

passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
passman.add_password(None, site_url, user, password)
auth_NTLM = HTTPNtlmAuthHandler.HTTPNtlmAuthHandler(passman)

opener = urllib2.build_opener(auth_NTLM)
urllib2.install_opener(opener)

site = SharePointSite(site_url, opener)

salesList = site.lists['Sales Distribution']

fileList = salesList.get_rows(folder='/sites/publishing/sales/Sales_Distribution/Data')

print "================================="

url = fileList[5].as_dict()['EncodedAbsUrl']
file = fileList[5].open()

content = urllib2.urlopen(url)
print content.read()

关于python - 从 Sharepoint rest api 下载文件时出现 400 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31141188/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com