我正在尝试使用 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."}}}'
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)
以上方法有效