J'ai créé un programme pour télécharger des images sur Google Drive avec Python.
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
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
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/
Saisissez le nom du projet de manière appropriée.
Créez un "ID client OAuth" à partir de vos informations d'identification.
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.
À partir de l'écran de consentement OAuth, saisissez le "nom du service à afficher à l'utilisateur" de manière appropriée.
Lorsque la création de l'ID client s'affiche, sélectionnez «Autre», saisissez un nom approprié et appuyez sur Créer.
Vous pouvez maintenant obtenir le "Client ID" et le "Client Secret". Notez-le car vous l'utiliserez plus tard.
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.
Continuez à sélectionner l'API Drive pour l'API Google Apps dans la bibliothèque de Google Developers Console.
L'écran suivant s'affiche. Cliquez sur "Activer" pour activer l'API Google Drive.
Lorsque "Activer" devient "Désactiver", l'API Google Drive est activée. (Aucun paramètre d'API Google Drive requis)
Vous êtes maintenant prêt à accéder à Google Drive.
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.
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".
Le code d'identification sera affiché sur le navigateur, alors copiez-le et collez-le dans l'invite de commande.
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/
"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.
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()
Je me suis référé au site suivant.
Utiliser Google Drive avec PyDrive http://python.keicode.com/advanced/pydrive.php
Recommended Posts