Importez un fichier JPG à l'aide de l'API Google Drive en Python

Aperçu

Téléchargez le fichier image sur Google Drive avec python. Implémentez tranquillement selon Quickstart.

Préparation

$ pip install --upgrade google-api-python-client 

la mise en oeuvre

Ajoutez la pièce à importer jpg en vous référant à Exemple de code de démarrage rapide.

Code source

Le code ci-dessous télécharge un fichier appelé "sample.jpg " dans le même répertoire après avoir obtenu les informations d'identification.

google_drive_uploadjpg.py


# -*- coding: utf-8 -*-
from __future__ import print_function
import httplib2
import os

from apiclient import discovery
from oauth2client import client
from oauth2client import tools
from oauth2client.file import Storage

import requests

try:
    import argparse
    flags = argparse.ArgumentParser(parents=[tools.argparser]).parse_args()
except ImportError:
    flags = None

#https dans le démarrage rapide://www.googleapis.com/auth/drive.metadata.autorisation en lecture seule mais pas de téléchargement
#Utilisez les éléments suivants de FullScope qui peuvent également être téléchargés(J'ai recherché SCOPE qui ne peut que télécharger, mais je ne l'ai pas trouvé...)
SCOPES = 'https://www.googleapis.com/auth/drive'
CLIENT_SECRET_FILE = 'client_secret.json'
#Nom de l'application saisi lors de la création du projet
APPLICATION_NAME = 'Drive API Quickstart'

def get_credentials():
    """
    (quickstart.Traduction japonaise de py)
Stocker l'authentification utilisateur valide(Informations d'identification stockées localement)Obtenir de
Si rien n'est stocké localement ou si les informations d'identification stockées ne sont pas valides
Obtenez de nouvelles informations d'identification avec le flux OAuth2
    (Traduction japonaise jusqu'ici)

・ Si vous l'exécutez tel quel, le navigateur s'ouvrira automatiquement et vous serez redirigé vers l'écran d'authentification.
・ Lors de l'exécution de python--noauth_local_L'URL est affichée sur la console avec l'option serveur Web
Lorsque vous entrez l'URL affichée dans le navigateur, l'écran d'authentification s'affiche et entrez le code qui apparaît après l'authentification sur la console.
    :return:Obtention des informations d'identification
    """

    # ~/.credentials/drive-python-quickstart.Enregistrer les informations d'identification dans json
    home_dir = os.path.expanduser('~')
    credential_dir = os.path.join(home_dir, '.credentials')
    if not os.path.exists(credential_dir):
        os.makedirs(credential_dir)
    credential_path = os.path.join(credential_dir,
                                   'drive-python-quickstart.json')

    store = Storage(credential_path)
    credentials = store.get()
    if not credentials or credentials.invalid:
        flow = client.flow_from_clientsecrets(CLIENT_SECRET_FILE, SCOPES)
        flow.user_agent = APPLICATION_NAME
        if flags:
            credentials = tools.run_flow(flow, store, flags)
        print('Storing credentials to ' + credential_path)
    return credentials

def upload_jpg(credentials, jpgfile):
    url = "https://www.googleapis.com/upload/drive/v3/files?uploadType=media"
    size = os.path.getsize(jpgfile)
    headers = {
        'Host':'www.googleapis.com',
        'Content-Type':'image/jpeg',
        'Content-Length': str(size),
        'Authorization': 'Bearer ' + credentials.access_token,
    }
    f = open(jpgfile, "rb")
    requests.post(url, headers=headers,data=f)

    return

def main():
    #Obtenez des identifiants
    credentials = get_credentials()

    #Téléchargement de jpgfile(REST)
    upload_jpg(credentials, "sample.jpg ")

if __name__ == '__main__':
    main()

Contrôle de fonctionnement

python google_drive_uploadjpg.py

Si l'image a été téléchargée sur Google Drive lors de l'exécution, tout va bien.

Bonus: télécharger avec curl

Upload est une API REST, vous pouvez donc également télécharger avec curl.

uploadjpg_curl.sh


curl -X POST \
-H 'Host: www.googleapis.com' \
-H 'Content-Type: image/jpeg' \
-H 'Content-Length: number_of_bytes_in_file' \
-H 'Authorization: Bearer your_auth_token' \
-T sample.jpg \
https://www.googleapis.com/upload/drive/v3/files?uploadType=media

Pour number_of_bytes_in_file, entrez la taille de sample.jpg. Pour your_auth_token, entrez le access_token décrit dans ~ / .credentials / drive-python-quickstart.json.

Code source complet

Je l'ai mis ci-dessous. Mettre votre client_secret.json dans le même répertoire devrait fonctionner. https://github.com/yakan10/google_drive_uploadjpg

Supplément: Flux de création d'un nouveau projet sur la console API Google

Il s'agit presque d'une traduction japonaise de Quickstart Step1.

  1. Accédez aux API Google
  2. Sélectionnez Créer un projet pour continuer
  3. Accédez à "API activée" -> Informations d'identification
  4. Annuler avec "Ajouter des informations d'identification au projet"
  5. Onglet «Écran de consentement OAuth» -> Entrez votre adresse e-mail et le nom du service à afficher aux utilisateurs et à enregistrer
  6. Onglet Credentials -> Create Credentials-> OAuth Client ID
  7. Sélectionnez "Autre" et entrez "Drive API Quickstart" comme nom-> Créer
  8. La boîte de dialogue du client OAuth s'affiche, mais pour le moment, "OK"
  9. DL le fichier avec l'icône de téléchargement à côté de l'ID que vous avez créé précédemment dans "OAuth 2.0 Client ID"
  10. Nommez le fichier DL "client_secret.json"

Recommended Posts

Importez un fichier JPG à l'aide de l'API Google Drive en Python
Conseils relatifs aux API Google Drive (Python)
Reconnaissance vocale des fichiers par l'API Google Speech v2 à l'aide de Python
[Python3] Google translate google translation sans utiliser l'API
Téléchargez des fichiers Google Drive en Python
Fonctionnement de la souris à l'aide de l'API Windows en Python
Essayez d'utiliser l'API Wunderlist en Python
Essayez d'utiliser l'API Kraken avec Python
Tweet à l'aide de l'API Twitter en Python
Obtenez les données de l'API Google Fit en Python
Obtenez des données Youtube en Python à l'aide de l'API Youtube Data
Créer une feuille de calcul Google à l'aide de l'API Python / Google Data
[SEO] Flux / exemple de code lors de l'utilisation de l'API Google Analytics en Python
Télécharger des images sur Google Drive avec Python
Créer un fichier GIF en utilisant Pillow en Python
Exécutez l'API Google Analytics (core v3) en python
Essayez d'utiliser l'API BitFlyer Ligntning en Python
Obtenir l'URL de l'image à l'aide de l'API Flickr en Python
Jugons les émotions à l'aide de l'API Emotion en Python
Télécharger des fichiers sur Google Drive avec Lambda (Python)
Téléchargement anonyme d'images à l'aide de l'API Imgur (à l'aide de Python)
[WP REST API v2] Télécharger des images avec Python
Créez un fichier MIDI en Python en utilisant pretty_midi
Essayez d'utiliser l'API ChatWork et l'API Qiita en Python
Essayez d'utiliser l'API DropBox Core avec Python
Opérations sur les fichiers en Python
Traitement de fichiers en Python
Déplacement de fichiers Google Drive
API Evernote en Python
Manipulation de fichiers avec Python
API C en Python 3
Google Drive API Set File Permission (Définir les autorisations sur les fichiers Google Drive)
Faire une copie d'un fichier Google Drive à partir de Python
Enregistrez collectivement des données dans Firestore à l'aide d'un fichier csv en Python
Paramètres initiaux lors de l'utilisation de l'API foursquare avec python
Obtenez des données LEAD à l'aide de l'API REST de Marketo en Python
[Python] Obtenez des données insight à l'aide de l'API Google My Business
OpenVINO utilisant l'API Python d'Inference Engine dans un environnement PC
Créez votre premier fichier GDSII en Python en utilisant gdspy
Procédure de transcription vocale à l'aide de Python et de l'API Google Cloud Speech
Utiliser l'API de recherche de la Bibliothèque du Parlement national en Python
Transférer vers un Drive partagé avec l'API Google Drive V3
Télécharger en tant que données ouvertes à l'aide de l'API CKAN en Python et lier automatiquement avec les actions Github
Hit API de Mastodon en Python
Mettre en ligne des vidéos à l'aide de l'API YouTube
API Blender Python dans Houdini (Python 3)
Accédez à Google Drive avec Python
Traduit à l'aide de googletrans en Python
Utilisation du mode Python dans le traitement
Gonfler des données textuelles par retranslation à l'aide de Google Traduction en Python
Prédire le sexe à partir du nom à l'aide de l'API Gender et de Pykakasi en Python
Google recherche la chaîne sur la dernière ligne du fichier en Python
Mettez en place le géocodage inversé en japonais avec l'API Python Google Maps
Jouez avec l'API de données YouTube v3 à l'aide du client Python de l'API Google
Programmation GUI en Python avec Appjar
Obtenir l'API arXiv en Python
Précautions lors de l'utilisation de Pit avec Python
Acquisition de données à l'aide de l'API googlemap de python