Télécharger des images sur Google Drive avec Python

J'ai créé un programme pour télécharger des images sur Google Drive avec Python.

environnement

Windows 7 Professional SP1 64bit Python 3.6.1 (64bit) pip 9.0.1 google-api-python-client 1.6.2 PyDrive 1.3.1

Installation du package

Installez "google-api-python-client" et "PyDrive".

invite de commande


>pip install google-api-python-client
>pip install PyDrive

Une erreur s'est produite lors de l'installation de PyDrive, je l'ai donc résolue par la méthode suivante. http://qiita.com/akabei/items/da70ebf61cc413d5ff0d

Obtenir l'ID client OAuth

Vous aurez besoin de votre «ID client» et de votre «secret client» pour accéder à Google Drive, alors procurez-vous-les.

Accédez à la Google Developers Console et créez un projet. https://console.developers.google.com/

aaa.png

Saisissez le nom du projet de manière appropriée.

aaa.png

Créez un "ID client OAuth" à partir de vos informations d'identification.

aaa.png

Lorsque le message «Pour créer un ID client OAuth, vous devez d'abord définir le nom du service sur l'écran de consentement.» S'affiche, définissez l'écran de consentement.

aaa.png

À partir de l'écran de consentement OAuth, saisissez le "nom du service à afficher à l'utilisateur" de manière appropriée.

aaa.png

Lorsque la création de l'ID client s'affiche, sélectionnez «Autre», saisissez un nom approprié et appuyez sur Créer.

aaa.png

Vous pouvez maintenant obtenir le "Client ID" et le "Client Secret". Notez-le car vous l'utiliserez plus tard.

aaa.png

Ou téléchargez le fichier JSON à partir de vos informations d'identification. Le "Client ID" et le "Client Secret" sont saisis dans le fichier JSON.

aaa.png

Activer l'API Google Drive

Continuez à sélectionner l'API Drive pour l'API Google Apps dans la bibliothèque de Google Developers Console.

aaa.png

L'écran suivant s'affiche. Cliquez sur "Activer" pour activer l'API Google Drive.

aaa.png

Lorsque "Activer" devient "Désactiver", l'API Google Drive est activée. (Aucun paramètre d'API Google Drive requis)

aaa.png

Vous êtes maintenant prêt à accéder à Google Drive.

Création de programme

Créez un programme (imageupload.py) qui télécharge des images sur Google Drive. Cette fois, j'utilise CommandLineAuth () car je l'appelle à partir de la ligne de commande.

imageupload.py


from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive

gauth = GoogleAuth()
gauth.CommandLineAuth()
drive = GoogleDrive(gauth)

f = drive.CreateFile({'title': 'test.jpg', 'mimeType': 'image/jpeg'})
f.SetContentFile('test.jpg')
f.Upload()

Créez un fichier de paramètres (settings.yaml) dans le même dossier que le programme. Entrez le "Client ID" et "Client Secret" obtenus ci-dessus.

settings.yaml


client_config_backend: settings
client_config:
  client_id: <identité du client>
  client_secret: <Secret du client>

save_credentials: True
save_credentials_backend: file
save_credentials_file: credentials.json

get_refresh_token: True

oauth_scope:
  - https://www.googleapis.com/auth/drive.file
  - https://www.googleapis.com/auth/drive.install

Préparez l'image (test.jpg) utilisée dans ce test dans le même dossier que le programme.

test.jpg

Exécution du programme

Exécutez le programme à partir de l'invite de commande. Lors de la première exécution, il vous sera demandé de saisir le code de vérification, affichez donc l'URL affichée sur votre navigateur.

invite de commande


>python imageupload.py
C:\Python36\lib\site-packages\oauth2client\_helpers.py:255: UserWarning: Cannot access credentials.json: No such file o
r directory
  warnings.warn(_MISSING_FILE_MESSAGE.format(filename))
Go to the following link in your browser:

    https://accounts.google.com/o/oauth2/auth?client_id=915107419881-unme2nu12t3d5sf10cmpudgo20jq3mtg.apps.googleuserco
ntent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.file+h
ttps%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.install&access_type=offline&response_type=code&approval_prompt=force

Enter verification code: 

Le navigateur affichera un écran pour approuver l'accès à Google Drive, donc "Autoriser".

aaa.png

Le code d'identification sera affiché sur le navigateur, alors copiez-le et collez-le dans l'invite de commande.

aaa.png

Après avoir collé le code d'identification, entrez la touche Entrée.

invite de commande


Enter verification code: 4/aiZHOmoP3Ufz5Y-d8BvTFq8-IL7Do2GK7FOAAurccN4
Authentication successful.

Si cela se termine normalement, l'image sera téléchargée sur Google Drive. (Vous n'avez pas besoin de saisir le code d'identification à partir de la deuxième fois)

Google Drive https://drive.google.com/drive/

aaa.png

Télécharger dans le dossier

"ID de dossier" est requis lors du téléchargement vers un dossier sur Google Drive. L'ID de dossier est la dernière partie de l'URL affichée lorsque vous ouvrez le dossier que vous souhaitez télécharger avec votre navigateur.

aaa.png

Vous pouvez télécharger dans ce dossier en spécifiant l'ID de dossier dans le paramètre de CreateFile ().

imageupload.py


from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive

gauth = GoogleAuth()
gauth.CommandLineAuth()
drive = GoogleDrive(gauth)

folder_id = '0B5fATn-vXv5wZ0RlM1JpQzdFTk0'
f = drive.CreateFile({'title': 'test.jpg',
                      'mimeType': 'image/jpeg',
                      'parents': [{'kind': 'drive#fileLink', 'id':folder_id}]})
f.SetContentFile('test.jpg')
f.Upload()

référence

Je me suis référé au site suivant.

Utiliser Google Drive avec PyDrive http://python.keicode.com/advanced/pydrive.php

Recommended Posts

Télécharger des images sur Google Drive avec Python
Télécharger des fichiers sur Google Drive avec Lambda (Python)
Accédez à Google Drive avec Python
Transférer vers un Drive partagé avec l'API Google Drive V3
Comment rechercher Google Drive dans Google Colaboratory
Comment télécharger avec Heroku, Flask, Python, Git (4)
Convertissez des PDF en images en masse avec Python
Télécharger des images sur S3 avec une interface graphique à l'aide de tkinter
Connectez-vous à BigQuery avec Python
Importez un fichier JPG à l'aide de l'API Google Drive en Python
Connectez-vous à Wikipedia avec Python
Étudiez Python avec Google Colaboratory
Comment télécharger avec Heroku, Flask, Python, Git (Partie 3)
Comment charger des fichiers dans Google Drive avec Google Colaboratory
Un moyen facile de gratter avec Python en utilisant Google Colab
Comment télécharger avec Heroku, Flask, Python, Git (Partie 2)
Basculer python vers 2.7 avec des alternatives
Écrire en csv avec Python
Montez Google Drive avec google-drive-ocamlfuse
Conseils relatifs aux API Google Drive (Python)
Comment extraire n'importe quel rendez-vous dans Google Agenda avec Python
Convertir des images en sépia avec PIL (Python Imaging Library)
Comment télécharger des fichiers sur Cloud Storage avec le SDK Python de Firebase
Publier un message sur Google Hangouts Chat avec un fil de discussion (Python)
Importez et supprimez des fichiers dans Google Cloud Storages avec django-storage
Reconnaissance des nombres dans les images avec Python
Python: comment utiliser async avec
Lien pour commencer avec python
[Python] Ecrire dans un fichier csv avec Python
Comment collecter des images en Python
Ravi de vous rencontrer avec python
Essayez d'exploiter Facebook avec Python
Sortie vers un fichier csv avec Python
Téléchargez des fichiers Google Drive en Python
Conversion MP3 → WAV avec Python
Pour faire une récursion avec Python2
Comment démarrer avec Python
Que faire avec la sortie de PYTHON?
Publier une image de Python sur Tumblr
Animez plusieurs images fixes avec Python
Charger une image gif avec Python + OpenCV
Comment calculer la date avec python
Sélénium et python pour ouvrir Google
Publiez facilement sur Twitter avec Python 3
Je veux déboguer avec Python
Travailler avec des images DICOM en Python
Télécharger et télécharger des images avec Falcon
Téléchargement de fichiers vers Azure Storage (Python)
Comment se connecter à Cloud Firestore à partir de Google Cloud Functions avec du code Python
Essayez d'afficher la carte google et la carte géographique avec python
Importation et téléchargement d'images sur le stockage Azure. Avec Python + requêtes + API REST
J'ai essayé de collecter automatiquement des images de Kanna Hashimoto avec Python! !!
Télécharger le fichier sur Cloud Storage (GCS) de GCP ~ Charger avec Python local
Le moyen le plus rapide d'obtenir régulièrement des images de caméra avec opencv de python