2016-07-06 18 views
0

ich die folgenden Methoden über meine App mit zahlreichen Google-Discovery-basierten APIs zu interagieren:Datei herunterladen von Google Drive mit der Entdeckung API

service, flags = sample_tools.init(
    sys.argv, 'drive', 'v3', __doc__, __file__, 
    scope='https://www.googleapis.com/auth/drive') 
try: 
    self.data = service.files().get(
     fileId = file_id 
     ).execute() 

except Exception as e: 
    print str(e) 

Um jedoch die Datei herunterzuladen, ich brauche um den Parameter "alt = 'media'" zur URL hinzuzufügen. Ich konnte keine Dokumentation darüber finden, wie man dies durch diese Art der Implementierung erreichen kann. Ich habe versucht, die "Export" -Methode zu verwenden, aber das funktioniert nur für Google Docs, nicht für andere Dateitypen (meine ist eine CSV-Datei).

Danke!

Antwort

1

Was Sie suchen, ist Downloading a file using alt=media.

Dateien herunterzuladen, Sie an eine autorisierte HTTP GET-Anforderung an die Ressource-URL Datei machen und schließen die Abfrageparameter alt=media.

Zum Beispiel:

GET https://www.googleapis.com/drive/v3/files/0B9jNhSvVjoIVM3dKcGRKRmVIOVU?alt=media 
Authorization: Bearer ya29.AHESVbXTUv5mHMo3RYfmS1YJonjzzdTOFZwvyOAUVhrs 

Hier ist ein Ausschnitt für Python:

file_id = '0BwwA4oUTeiV1UVNwOHItT0xfa2M' 
request = drive_service.files().get_media(fileId=file_id) 
fh = io.BytesIO() 
downloader = MediaIoBaseDownload(fh, request) 
done = False 
while done is False: 
    status, done = downloader.next_chunk() 
    print "Download %d%%." % int(status.progress() * 100) 

Falls Sie mit Download direkt interessiert sind Links für CSVs, können Sie auch this guide versuchen.

https://docs.google.com/spreadsheets/d/FILE_ID/edit?usp=sharing 
Verwandte Themen