Comment télécharger un fichier sur Google Drive en utilisant un script Python?
J'ai besoin de sauvegarder différents types de fichier GDrive (et pas seulement ceux convertibles GDocs formats) à partir d'un serveur linux.
Ce qui serait le plus simple, la plus élégante façon de le faire avec un script python? Serait une des solutions relatives à la GDocs être applicable?
source d'informationauteur GJ.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser la Liste de Documents de l'API pour écrire un script qui écrit pour le Lecteur:
https://developers.google.com/google-apps/documents-list/
À la fois de la Liste des Documents de l'API et le Lecteur API interagir avec les mêmes ressources (c'est à dire de même des documents et des fichiers).
Cet exemple dans le client Python library montre comment télécharger un non converti fichier sur le Lecteur:
http://code.google.com/p/gdata-python-client/source/browse/samples/docs/docs_v3_example.py#180
La documentation en cours pour l'enregistrement d'un fichier dans google drive l'utilisation de python peut être trouvé ici:
https://developers.google.com/drive/v3/web/manage-uploads
Cependant, la façon dont le google drive de l'api poignées document de stockage et de récupération ne suit pas la même architecture que POSIX systèmes de fichiers. Par conséquent, si vous souhaitez conserver la hiérarchie de l'architecture de la imbriqués les fichiers sur votre système de fichiers linux, vous aurez besoin d'écrire beaucoup de code personnalisé, de sorte que les répertoires parents sont conservés sur google drive.
En plus de cela, google rend difficile l'obtention de l'accès en écriture sur un lecteur normal compte. Votre permission champ d'application doit inclure le lien suivant: https://www.googleapis.com/auth/drive et d'obtenir un jeton d'accès d'un utilisateur à un compte normal, l'utilisateur doit d'abord se joindre à un groupe de fournir l'accès à la non-examinés apps. Et tout jeton oauth qui est créé a une durée de vie limitée.
Toutefois, si vous obtenir un jeton d'accès, le script suivant devrait vous permettre d'enregistrer n'importe quel fichier sur votre machine locale la même (relative) chemin d'accès sur google drive.
PS. J'ai modifié ce script à partir de la
labpack
module python. Il est classe appelée driveClient dans ce module écrit par rcj1492 qui s'occupe de l'enregistrement, de chargement, de la recherche et de supprimer des fichiers sur google drive dans une manière qui préserve les systèmes de fichiers POSIX.J'ai trouvé que PyDrive gère le Lecteur API élégamment, et il a aussi une grande la documentation (surtout la marche à l'utilisateur par le biais de la partie authentification).
EDIT: Combinez cela avec le matériel sur L'automatisation de pydrive processus de vérification et Pydrive google drive automatiser l'authentificationet cela donne une très bonne documentation pour faire avancer les choses. Espérons que cela aide ceux qui ne savent pas par où commencer.