Ich habe ein Programm zum Hochladen von Bildern auf Google Drive mit Python erstellt.
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
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
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/
Geben Sie den Projektnamen entsprechend ein.
Erstellen Sie aus Ihren Anmeldeinformationen eine "OAuth-Client-ID".
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.
Geben Sie im OAuth-Zustimmungsbildschirm den entsprechenden "Dienstnamen ein, der dem Benutzer angezeigt werden soll".
Wenn die Erstellung der Client-ID angezeigt wird, wählen Sie "Andere", geben Sie einen geeigneten Namen ein und klicken Sie auf "Erstellen".
Jetzt können Sie die "Client ID" und "Client Secret" erhalten. Notieren Sie sich dies, da Sie es später verwenden werden.
Oder laden Sie die JSON-Datei von Ihren Anmeldeinformationen herunter. Die "Client ID" und "Client Secret" werden in die JSON-Datei eingegeben.
Wählen Sie in der Google Developers Console weiterhin Drive API für Google Apps API aus der Bibliothek aus.
Der folgende Bildschirm wird angezeigt. Klicken Sie auf "Aktivieren", um die Google Drive-API zu aktivieren.
Wenn "Aktivieren" in "Deaktivieren" geändert wird, wird die Google Drive-API aktiviert. (Keine Google Drive API-Einstellungen erforderlich)
Jetzt können Sie auf Google Drive zugreifen.
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.
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".
Der Identifikationscode wird im Browser angezeigt. Kopieren Sie ihn daher und fügen Sie ihn in die Eingabeaufforderung ein.
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/
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.
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()
Ich habe auf die folgende Seite verwiesen.
Verwenden von Google Drive mit PyDrive http://python.keicode.com/advanced/pydrive.php
Recommended Posts