Office365-rest-python-client: Demande une erreur MissingSchema lors du téléchargement du fichier

Créé le 2 oct. 2020  ·  4Commentaires  ·  Source: vgrem/Office365-REST-Python-Client

Salut!

Je rencontre des difficultés pour télécharger un fichier à partir de SharePoint à l'aide de la dernière version 2.2.1 d'Office365. Lorsque j'essaie de télécharger un fichier, une erreur "MissingSchema" du module de requêtes apparaît. Je ne sais pas ce qui s'est passé, si je reviens à la version 2.1.5, le code fonctionne correctement. Merci beaucoup et j'apprécie le travail acharné dans ce module; hyper utile !

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)

Erreur:
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?

Sous MacOS,
Office365 2.2.1,
Python 3.8.3,
demandes 2.2.4

bug question

Commentaire le plus utile

Il y a un bogue dans la version 2.2.1 que vous devez soit utiliser la dernière version de git, soit le corriger manuellement dans votre installation ici https://github.com/vgrem/Office365-REST-Python-Client/blob/master/office365/sharepoint /files/file.py#L275

Notez que dans votre version ctx.service_root_url est une propriété mais devrait être une méthode ctx.service_root_url()

Tous les 4 commentaires

Il y a un bogue dans la version 2.2.1 que vous devez soit utiliser la dernière version de git, soit le corriger manuellement dans votre installation ici https://github.com/vgrem/Office365-REST-Python-Client/blob/master/office365/sharepoint /files/file.py#L275

Notez que dans votre version ctx.service_root_url est une propriété mais devrait être une méthode ctx.service_root_url()

Merci @efremovd et @etiennecelery pour l'avoir attrapé et 2.2.1 raison de la refactorisation service_root_url propriété

Comme mentionné, la _dernière_ version disponible sur GitHub résout ce problème :

pip install git+https://github.com/vgrem/Office365-REST-Python-Client.git

Alternativement, le fichier peut être téléchargé comme illustré ci-dessous :

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()

Merci!! Bon travail

La fermeture de celui-ci depuis a été résolue et la version 2.2.2 a été publiée.

Cette page vous a été utile?
0 / 5 - 0 notes