Laden Sie Bilder mit Python auf Google Drive hoch

Ich habe ein Programm zum Hochladen von Bildern auf Google Drive mit Python erstellt.

Umgebung

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

Paketinstallation

Installieren Sie "google-api-python-client" und "PyDrive".

Eingabeaufforderung


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

Während der Installation von PyDrive ist ein Fehler aufgetreten, daher habe ich ihn mit der folgenden Methode behoben. http://qiita.com/akabei/items/da70ebf61cc413d5ff0d

OAuth-Client-ID abrufen

Sie benötigen Ihre "Kunden-ID" und Ihr "Kundengeheimnis", um auf Google Drive zugreifen zu können.

Gehen Sie zur Google Developers Console und erstellen Sie ein Projekt. https://console.developers.google.com/

aaa.png

Geben Sie den Projektnamen entsprechend ein.

aaa.png

Erstellen Sie aus Ihren Anmeldeinformationen eine "OAuth-Client-ID".

aaa.png

Wenn die Meldung "Um eine OAuth-Client-ID zu erstellen, müssen Sie zuerst den Dienstnamen auf dem Zustimmungsbildschirm festlegen" angezeigt wird, legen Sie den Zustimmungsbildschirm fest.

aaa.png

Geben Sie im OAuth-Zustimmungsbildschirm den entsprechenden "Dienstnamen ein, der dem Benutzer angezeigt werden soll".

aaa.png

Wenn die Erstellung der Client-ID angezeigt wird, wählen Sie "Andere", geben Sie einen geeigneten Namen ein und klicken Sie auf "Erstellen".

aaa.png

Jetzt können Sie die "Client ID" und "Client Secret" erhalten. Notieren Sie sich dies, da Sie es später verwenden werden.

aaa.png

Oder laden Sie die JSON-Datei von Ihren Anmeldeinformationen herunter. Die "Client ID" und "Client Secret" werden in die JSON-Datei eingegeben.

aaa.png

Aktivieren Sie die Google Drive-API

Wählen Sie in der Google Developers Console weiterhin Drive API für Google Apps API aus der Bibliothek aus.

aaa.png

Der folgende Bildschirm wird angezeigt. Klicken Sie auf "Aktivieren", um die Google Drive-API zu aktivieren.

aaa.png

Wenn "Aktivieren" in "Deaktivieren" geändert wird, wird die Google Drive-API aktiviert. (Keine Google Drive API-Einstellungen erforderlich)

aaa.png

Jetzt können Sie auf Google Drive zugreifen.

Programmerstellung

Erstellen Sie ein Programm (imageupload.py), das Bilder auf Google Drive hochlädt. Dieses Mal rufen wir es über die Befehlszeile auf, also verwenden wir CommandLineAuth ().

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

Erstellen Sie eine Einstellungsdatei (settings.yaml) im selben Ordner wie das Programm. Geben Sie die oben erhaltenen "Client ID" und "Client Secret" ein.

settings.yaml


client_config_backend: settings
client_config:
  client_id: <Kunden ID>
  client_secret: <Kundengeheimnis>

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

Bereiten Sie das in diesem Test verwendete Image (test.jpg) im selben Ordner wie das Programm vor.

test.jpg

Programmausführung

Führen Sie das Programm an der Eingabeaufforderung aus. Bei der ersten Ausführung werden Sie aufgefordert, den Bestätigungscode einzugeben. Zeigen Sie daher die angezeigte URL in Ihrem Browser an.

Eingabeaufforderung


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

Der Browser zeigt einen Bildschirm an, um den Zugriff auf Google Drive zu genehmigen. Klicken Sie also auf "Zulassen".

aaa.png

Der Identifikationscode wird im Browser angezeigt. Kopieren Sie ihn daher und fügen Sie ihn in die Eingabeaufforderung ein.

aaa.png

Geben Sie nach dem Einfügen des Identifikationscodes die Eingabetaste ein.

Eingabeaufforderung


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

Wenn es normal beendet wird, wird das Bild auf Google Drive hochgeladen. (Sie müssen den Identifikationscode ab dem zweiten Mal nicht mehr eingeben.)

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

aaa.png

In Ordner hochladen

Beim Hochladen in einen Ordner auf Google Drive ist "Ordner-ID" erforderlich. Die Ordner-ID ist der letzte Teil der angezeigten URL, wenn Sie den Ordner öffnen, den Sie mit Ihrem Browser hochladen möchten.

aaa.png

Sie können in diesen Ordner hochladen, indem Sie die Ordner-ID im Parameter CreateFile () angeben.

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

Referenz

Ich habe auf die folgende Seite verwiesen.

Verwenden von Google Drive mit PyDrive http://python.keicode.com/advanced/pydrive.php

Recommended Posts

Laden Sie Bilder mit Python auf Google Drive hoch
Laden Sie Dateien mit Lambda (Python) auf Google Drive hoch.
Greifen Sie mit Python auf Google Drive zu
Hochladen auf ein freigegebenes Laufwerk mit Google Drive API V3
So suchen Sie in Google Colaboratory nach Google Drive
Hochladen mit Heroku, Flask, Python, Git (4)
Konvertieren Sie PDFs mit Python in Massenbilder
Laden Sie Bilder mit tkinter mit GUI auf S3 hoch
Stellen Sie mit Python eine Verbindung zu BigQuery her
Laden Sie eine JPG-Datei mit der Google Drive-API in Python hoch
Stellen Sie mit Python eine Verbindung zu Wikipedia her
Lernen Sie Python mit Google Colaboratory
Hochladen mit Heroku, Flask, Python, Git (Teil 3)
So laden Sie Dateien in Google Drive mit Google Colaboratory
Einfache Möglichkeit, mit Google Colab mit Python zu kratzen
Hochladen mit Heroku, Flask, Python, Git (Teil 2)
Schalten Sie Python mit Alternativen auf 2.7 um
Schreiben Sie mit Python in csv
Hängen Sie Google Drive mit google-drive-ocamlfuse ein
Google Drive API-Tipps (Python)
So extrahieren Sie einen Termin in Google Kalender mit Python
Konvertieren Sie Bilder mit PIL (Python Imaging Library) in Sepia.
Hochladen von Dateien in den Cloud-Speicher mit dem Python-SDK von Firebase
Senden Sie eine Nachricht an Google Hangouts Chat mit einem Thread (Python)
Laden Sie Dateien mit Django-Speicher in Google Cloud Storages hoch und löschen Sie sie
Zahlenerkennung in Bildern mit Python
Python: So verwenden Sie Async mit
Link, um mit Python zu beginnen
[Python] Mit Python in eine CSV-Datei schreiben
So sammeln Sie Bilder in Python
Schön dich mit Python zu treffen
Versuchen Sie, Facebook mit Python zu betreiben
Ausgabe in eine CSV-Datei mit Python
Laden Sie Google Drive-Dateien in Python herunter
MP3 → WAV-Konvertierung mit Python
Schwanzrekursion mit Python2 durchführen
Erste Schritte mit Python
Was tun mit PYTHON Release?
Poste ein Bild von Python auf Tumblr
Animieren Sie mehrere Standbilder mit Python
Laden Sie das GIF-Bild mit Python + OpenCV
So berechnen Sie das Datum mit Python
Selen und Python zum Öffnen von Google
Mit Python 3 einfach auf Twitter posten
Ich möchte mit Python debuggen
Arbeiten mit DICOM-Bildern in Python
Laden Sie Bilder mit Falcon hoch und laden Sie sie herunter
Datei-Upload in Azure Storage (Python)
Herstellen einer Verbindung zum Cloud Firestore über Google Cloud-Funktionen mit Python-Code
Versuchen Sie, Google Map und Geography Map mit Python anzuzeigen
Hochladen und Herunterladen von Bildern in Azure Storage. Mit Python + Anfragen + REST API
Ich habe versucht, automatisch Bilder von Kanna Hashimoto mit Python zu sammeln! !!
Laden Sie Dateien in den Cloud Storage (GCS) von GCP hoch. ~ Laden Sie mit lokalem Python
Der schnellste Weg, um regelmäßig Kamerabilder mit Pythons OpenCV zu erhalten