尝试使用python和365 clinet下载sharepoint文件时获取400

问题描述 投票:0回答:1

我正在尝试使用 Office 365 python clinet 和用户凭据下载 sharepoint 文件。但我在尝试下载时遇到以下错误。但我可以毫无问题地列出文件。这是我的代码。

from office365.runtime.auth.authentication_context import AuthenticationContext,UserCredential
from office365.sharepoint.client_context import ClientContext
from office365.sharepoint.files.file import File
import logging

url = "https://xxxxxx.sharepoint.com/"
username= "[email protected]"
password= "xxxxxxxx"

ctx = ClientContext(url).with_user_credentials(username, password)

file_url = "https://xxxxxxx.sharepoint.com/sites/xxxxxxx/Shared Documents/Public/xxxxxx.pdf"
response = File.open_binary(ctx, file_url)

print(response)
with open("./xxxxxx.pdf", "wb") as local_file:
    local_file.write(response.content)

或者我尝试过这种方法,但我也遇到了 404 错误。

context = ClientContext(url).with_user_credentials(username, password)

response = File.open_binary(context, '/'.join(['/sites/xxxxx/Shared Documents/Public', 
                                           'xxxxx.pdf']))

print(response)

我没有收到任何 python 错误,这是请求的响应。

b'{"error":{"code":"-2130575338, Microsoft.SharePoint.SPException","message":{"lang":"en-US","value":"The file /sites/xxxx/Shared Documents/Public/xxxxxx.pdf does not exist."}}}'
python sharepoint office365api
1个回答
0
投票
context = ClientContext(f"{url}/sites/XXXX").with_user_credentials(username, password)
file_url = f'/sites/xxxxx/Public/xxxxx.pdf'
file = File.open_binary(context, file_url)

以上方法有效

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.