Hi!
Ich habe Probleme beim Herunterladen einer Datei aus SharePoint mit der neuesten 2.2.1-Version von Office365. Wenn ich versuche, eine Datei herunterzuladen, wird der Fehler "MissingSchema" vom Anforderungsmodul angezeigt. Ich weiß nicht, was passiert ist, wenn ich zu Version 2.1.5 zurückkehre, läuft der Code einwandfrei. Vielen Dank und ich schätze die harte Arbeit in diesem Modul; super nützlich!
from office365.runtime.auth.authentication_context import AuthenticationContext
from office365.sharepoint.client_context import ClientContext
from office365.sharepoint.file import File
def auth(username, password):
ctx_auth = AuthenticationContext(url)
if ctx_auth.acquire_token_for_user(username, password):
ctx = ClientContext(url, ctx_auth)
return ctx
ctx = auth(username, password)
response = File.open_binary(ctx, relative_url)
Fehler:
MissingSchema: Invalid URL "<bound method ClientContext.service_root_url of <office365.sharepoint.client_context.ClientContext object at 0x7fb4e44c3d90>>web/getfilebyserverrelativeurl('MYRELATIVEURL')/\\$value": No schema supplied. Perhaps you meant http://<bound method ClientContext.service_root_url of <office365.sharepoint.client_context.ClientContext object at 0x7fb4e44c3d90>>web/getfilebyserverrelativeurl('MYRELATIVEURL')/\$value?
Unter MacOS,
Office365 2.2.1,
Python 3.8.3,
Anfragen 2.2.4
Es gibt einen Fehler in Version 2.2.1. Sie müssen entweder die neueste Version von git verwenden oder ihn manuell in Ihrer Installation hier beheben https://github.com/vgrem/Office365-REST-Python-Client/blob/master/office365/sharepoint /files/file.py#L275
Beachten Sie, dass in Ihrer Version ctx.service_root_url
eine Eigenschaft ist, aber eine Methode sein sollte ctx.service_root_url()
Vielen Dank an @efremovd und @etiennecelery für das Auffangen und Lokalisieren. Tatsächlich handelt es sich um einen Fehler, der in Version 2.2.1
aufgrund der Umgestaltung der Eigenschaft service_root_url
in die Methode aufgetreten ist.
Wie bereits erwähnt, behebt die _neueste_ Version von GitHub dieses Problem:
pip install git+https://github.com/vgrem/Office365-REST-Python-Client.git
Alternativ kann die Datei wie unten gezeigt heruntergeladen werden:
file_url = '{server-relative-path-to-download}'
with open(download_path, "wb") as local_file:
file = ctx.web.get_file_by_server_relative_url(file_url).download(local_file).execute_query()
Dankeschön!! Gute Arbeit
Das Schließen dieser seither wurde behoben und die 2.2.2
Version wurde veröffentlicht.
Hilfreichster Kommentar
Es gibt einen Fehler in Version 2.2.1. Sie müssen entweder die neueste Version von git verwenden oder ihn manuell in Ihrer Installation hier beheben https://github.com/vgrem/Office365-REST-Python-Client/blob/master/office365/sharepoint /files/file.py#L275
Beachten Sie, dass in Ihrer Version
ctx.service_root_url
eine Eigenschaft ist, aber eine Methode sein solltectx.service_root_url()