Die Google Drive API unterstützt verschiedene Arten von Download- und Exportaktionen, die in der folgenden Tabelle aufgeführt sind:
| Downloadaktionen |
|
||||
| Exportaktionen |
|
Bevor Sie Dateiinhalte herunterladen oder exportieren, prüfen Sie, ob Nutzer die
Datei mit dem capabilities.canDownload Feld in der files Ressource herunterladen können.
Beschreibungen der hier erwähnten Dateitypen, einschließlich Blob- und Google Workspace-Dateien, finden Sie unter Dateitypen.
Im Rest dieses Leitfadens finden Sie eine detaillierte Anleitung zum Ausführen dieser Arten von Download- und Exportaktionen.
Blob-Dateiinhalte herunterladen
Wenn Sie eine in Google Drive gespeicherte Blob-Datei herunterladen möchten, verwenden Sie die files.get Methode mit der ID der herunterzuladenden Datei und dem
alt=media URL-Parameter. Der URL-Parameter alt=media teilt dem Server mit, dass ein Download von Inhalten als alternatives Antwortformat angefordert wird.
Der alt=media URL-Parameter ist ein Systemparameter, der für alle Google REST APIs verfügbar ist. Wenn Sie eine Clientbibliothek für die Drive API verwenden, müssen Sie diesen Parameter nicht explizit festlegen.
Das folgende Codebeispiel zeigt, wie Sie die Methode files.get verwenden, um eine Datei mit den Clientbibliotheken der Drive API herunterzuladen.
Apps Script
/**
* Downloads a file from Drive.
* @param {string} fileId The ID of the file to download.
* @return {Blob} The file content as a Blob.
*/
function downloadFile(fileId) {
var url = 'https://www.googleapis.com/drive/v3/files/' + fileId + '?alt=media';
var response = UrlFetchApp.fetch(url, {
headers: {
'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()
}
});
return response.getBlob();
}
Java
Python
Node.js
PHP
.NET
In diesem Codebeispiel wird eine Bibliotheksmethode verwendet, die den URL-Parameter alt=media zur zugrunde liegenden HTTP-Anfrage hinzufügt.
Dateidownloads, die von Ihrer App gestartet werden, müssen mit einem Bereich autorisiert werden, der Lesezugriff auf den Dateiinhalt ermöglicht. Eine App, die den Bereich drive.readonly.metadata verwendet, ist beispielsweise nicht autorisiert, die Dateiinhalte herunterzuladen.
In diesem Codebeispiel wird der eingeschränkte Dateibereich „drive“ verwendet, mit dem Nutzer alle Ihre Drive-Dateien ansehen und verwalten können. Weitere Informationen zu
Drive-Bereichen finden Sie unter Google Drive API
Bereiche auswählen.
Nutzer mit der Berechtigung owner (für „Meine Ablage“-Dateien) oder
organizer (für Dateien in geteilten Ablagen) können Downloads einschränken
über das
DownloadRestrictionsMetadata
Objekt. Weitere Informationen finden Sie unter Verhindern, dass Nutzer Ihre Datei herunterladen, drucken oder
kopieren.
Dateien, die als missbräuchlich
(z. B. schädliche Software) identifiziert wurden, können nur vom Eigentümer der Datei heruntergeladen werden.
Außerdem muss der Abfrageparameter get acknowledgeAbuse=true enthalten sein, um anzugeben, dass der Nutzer das Risiko des Herunterladens potenziell unerwünschter Software oder anderer missbräuchlicher Dateien zur Kenntnis genommen hat. Ihre Anwendung sollte den Nutzer interaktiv warnen, bevor dieser Abfrageparameter verwendet wird.
Teilweiser Download
Beim teilweisen Download wird nur ein bestimmter Teil einer Datei heruntergeladen. Sie
können den Teil der Datei, den Sie herunterladen möchten, mit einem Byte
bereich im
Range Header angeben. Beispiel:
Range: bytes=500-999
Blob-Dateiinhalte in einer früheren Version herunterladen
Sie können nur Blob-Dateiinhaltsversionen herunterladen, die als „Niemals löschen“ gekennzeichnet sind. Wenn Sie eine Version herunterladen möchten, legen Sie sie zuerst auf „Niemals löschen“ fest. Weitere Informationen finden Sie unter Versionen angeben, die nicht automatisch gelöscht werden sollen.
Wenn Sie den Inhalt von Blob-Dateien in einer früheren Version herunterladen möchten, verwenden Sie die
revisions.get Methode mit der ID der
herunterzuladenden Datei, der ID der Version und dem alt=media URL-Parameter. Der URL-Parameter alt=media teilt dem Server mit, dass ein Download von Inhalten als alternatives Antwortformat angefordert wird. Ähnlich wie bei files.get akzeptiert die Methode revisions.get auch den optionalen Abfrageparameter acknowledgeAbuse und den Header Range. Weitere Informationen finden Sie unter Vorgänge mit langer Ausführungszeit verwalten.
Hier wird das Anfrageprotokoll angezeigt.
GET https://www.googleapis.com/drive/v3/files/{FILE_ID}/revisions/{REVISION_ID}?alt=mediaBlob-Dateiinhalte in einem Browser herunterladen
Wenn Sie den Inhalt von Blob-Dateien, die in Google Drive gespeichert sind, in einem
Browser und nicht über die API herunterladen möchten, verwenden Sie das webContentLink Feld der files Ressource. Wenn der Nutzer Downloadzugriff auf die Datei hat, wird ein Link zum Herunterladen der Datei und ihrer Inhalte zurückgegeben. Sie können einen Nutzer entweder zu dieser URL weiterleiten oder sie als anklickbaren Link anbieten.
Blob-Dateiinhalte bei Vorgängen mit langer Ausführungszeit herunterladen
Wenn Sie den Inhalt von Blob-Dateien bei Vorgängen mit langer Ausführungszeit herunterladen möchten, verwenden Sie die
files.download Methode mit der ID der
herunterzuladenden Datei. Optional können Sie die ID der Version festlegen.
Dies ist die einzige Möglichkeit, Google Vids-Dateien herunterzuladen. Wenn Sie versuchen,
Google Vids-Dateien zu exportieren, wird der
fileNotExportable Fehler angezeigt.
Weitere Informationen finden Sie unter Vorgänge mit langer Ausführungszeit
verwalten.
Google Workspace-Dokumentinhalte exportieren
Wenn Sie Byteinhalte von Google Workspace-Dokumenten exportieren möchten, verwenden Sie die files.export Methode mit der ID der zu exportierenden Datei und
dem richtigen MIME-Typ. Exportierte Inhalte sind auf 10 MB begrenzt.
Das folgende Codebeispiel zeigt, wie Sie die Methode files.export verwenden, um ein Google Workspace-Dokument im PDF-Format mit den Clientbibliotheken der Drive API zu exportieren:
Apps Script
/**
* Exports a Google Workspace document.
* @param {string} fileId The ID of the file to export.
* @param {string} mimeType The MIME type to export to.
* @return {Blob} The exported content as a Blob.
*/
function exportPdf(fileId, mimeType) {
var url = 'https://www.googleapis.com/drive/v3/files/' + fileId + '/export?mimeType=' + encodeURIComponent(mimeType);
var response = UrlFetchApp.fetch(url, {
headers: {
'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()
}
});
return response.getBlob();
}
Java
Python
Node.js
PHP
.NET
In diesem Codebeispiel wird der eingeschränkte Bereich drive verwendet, mit dem Nutzer alle Ihre Drive-Dateien ansehen und verwalten können. Weitere Informationen zu
Drive-Bereichen finden Sie unter Google Drive API
Bereiche auswählen.
Im Codebeispiel wird auch der MIME-Typ für den Export als application/pdf deklariert. Eine
vollständige Liste aller MIME-Typen für den Export, die für die einzelnen Google Workspace
Dokumente unterstützt werden, finden Sie unter MIME-Typen für den Export von Google Workspace
Dokumenten.
Google Workspace-Dokumentinhalte in einem Browser exportieren
Wenn Sie Google Workspace-Dokumentinhalte in einem Browser exportieren möchten, verwenden Sie das
exportLinks Feld der files Ressource. Je nach Dokumenttyp wird für jeden verfügbaren MIME-Typ ein Link zum Herunterladen der Datei und ihrer Inhalte zurückgegeben.
Sie können einen Nutzer entweder zu einer URL weiterleiten oder sie als anklickbaren Link anbieten.
Google Workspace-Dokumentinhalte in einer früheren Version in einem Browser exportieren
Wenn Sie Google Workspace-Dokumentinhalte in einer früheren Version in einem
Browser exportieren möchten, verwenden Sie die revisions.get Methode mit
der ID der herunterzuladenden Datei und der ID der Version, um einen Export
Link zu generieren, über den Sie den Download ausführen können. Wenn der Nutzer Downloadzugriff auf die Datei hat, wird ein Link zum Herunterladen der Datei und ihrer Inhalte zurückgegeben. Sie können einen Nutzer entweder zu dieser URL weiterleiten oder sie als anklickbaren Link anbieten.
Google Workspace-Dokumentinhalte bei Vorgängen mit langer Ausführungszeit exportieren
Wenn Sie Google Workspace-Dokumentinhalte bei Vorgängen mit langer Ausführungszeit exportieren möchten,
verwenden Sie die Methode files.download mit der ID
der herunterzuladenden Datei und der ID der Version. Weitere Informationen finden Sie unter
Vorgänge mit langer Ausführungszeit verwalten.