In diesem Leitfaden wird beschrieben, wie Sie mit der Google Drive API Dateien in Google Drive erstellen und verwalten.
Datei erstellen
Wenn Sie in Drive eine Datei ohne Metadaten oder Inhalt erstellen möchten,
verwenden Sie die Methode create für die Ressource files ohne Parameter.
Wenn Sie die Datei erstellen, gibt die Methode eine files-Ressource zurück. Die Datei erhält den kind-Wert drive.file, eine id, den name-Wert „Unbenannt“ und den mimeType-Wert application/octet-stream. The
uploadType
ist als erforderlich gekennzeichnet, hat aber standardmäßig den Wert media. Sie müssen ihn also nicht
angeben.
Weitere Informationen zu den Dateilimits in Drive finden Sie unter Datei- und Ordnerlimits.
Parameter „fields“ verwenden
Wenn Sie die Felder angeben möchten, die in der Antwort zurückgegeben werden sollen, können Sie den
fields System
parameter
mit einer beliebigen Methode der files Ressource festlegen. Wenn Sie den Parameter fields weglassen, gibt der Server eine Standardgruppe von Feldern zurück, die für die Methode spezifisch sind. Die Methode
list gibt beispielsweise nur die Felder kind, id,
name, mimeType und resourceKey für jede Datei zurück. Informationen zum Zurückgeben anderer
Felder finden Sie unter Bestimmte Felder zurückgeben.
Dateieigentümerschaft
Wenn eine Datei mit der Drive API erstellt wird, hängt die Eigentümerschaft von den Authentifizierungsanmeldedaten ab, die von der App verwendet werden:
Nutzerkonto (OAuth 2.0): Wenn sich die Anwendung im Namen eines Nutzers authentifiziert, wird dieser Nutzer zum Dateieigentümer. Die Datei befindet sich dann im Ordner „Meine Ablage“ oder in einem angegebenen Ordner. Sie verbraucht das Speicherkontingent des Nutzers.
Dienstkonto: Wenn sich die Anwendung mit einem Dienstkonto authentifiziert, ist das Dienstkonto der Dateieigentümer. Die Datei befindet sich dann im dedizierten Drive-Speicher des Dienstkontos. Dateien werden nicht in anderen Drive-Speicherkonten angezeigt, es sei denn, sie wurden explizit freigegeben. Wenn das Dienstkonto gelöscht wird, werden alle Dateien, deren Eigentümer es ist, sofort gelöscht.
Wenn Sie ein Dienstkonto verwenden, aber möchten, dass ein bestimmtes Nutzerkonto Eigentümer einer Datei ist, verwenden Sie die domainweite Delegation. So kann das Dienstkonto die Identität eines Nutzers annehmen und in seinem Namen Dateien erstellen. Weitere Informationen finden Sie unter Domainweite Befugnisse an das Dienstkonto delegieren.
Weitere Informationen zu Dateiberechtigungen finden Sie unter Dateien, Ordner und Ablagen freigeben.
IDs für die Verwendung mit Ihren Dateien generieren
Mit der generateIds Methode für die
files Ressource können Sie eindeutige Datei
IDs vorab generieren, die beim Erstellen oder Kopieren von Dateien und Ordnern in
Drive verwendet werden können. Das kann nützlich sein, wenn Sie die Datei-IDs über Ihre App steuern möchten, anstatt sie automatisch von Drive zuweisen zu lassen.
Mit dem
count Abfrageparameter können Sie die Anzahl der generierten IDs festlegen.
Wenn count nicht festgelegt ist, werden standardmäßig 10 zurückgegeben. Die maximale Anzahl der IDs, die Sie anfordern können, ist auf 1.000 begrenzt.
Sie können auch den
space angeben, in dem die IDs
verwendet werden können, und den
type der Elemente, für die die
IDs verwendet werden können.
Sobald eine ID generiert wurde, kann sie über das Feld id an die Methode create oder copy übergeben werden. So wird sichergestellt, dass die erstellte oder kopierte Datei die vorgegebene ID verwendet.
Wenn die Datei erfolgreich erstellt oder kopiert wurde, geben nachfolgende Wiederholungen den HTTP-Statuscode 409
Conflict zurück und es werden keine doppelten Dateien erstellt.
Vorab generierte IDs werden für die Erstellung von
Google Workspace-Dateien nicht unterstützt, mit Ausnahme der application/vnd.google-apps.drive-sdk
und application/vnd.google-apps.folder MIME
Typen. Ebenso werden Uploads, die auf eine Konvertierung in ein Google Workspace-Dateiformat verweisen, nicht unterstützt.
Dateien nur mit Metadaten erstellen
Dateien nur mit Metadaten enthalten keinen Inhalt. Metadaten sind Daten (z. B. name, mimeType und createdTime), die die Datei beschreiben. Felder wie name sind nutzerunabhängig und werden für jeden Nutzer gleich angezeigt, während Felder wie viewedByMeTime nutzerspezifische Werte enthalten.
Ein Beispiel für eine Datei nur mit Metadaten ist ein Ordner mit dem MIME-Typ application/vnd.google-apps.folder. Weitere Informationen finden Sie unter Ordner erstellen und
füllen. Ein weiteres Beispiel ist eine Verknüpfung zu einer anderen Datei in Drive mit dem MIME-Typ application/vnd.google-apps.shortcut. Weitere Informationen finden Sie unter Verknüpfung zu einer Drive-Datei erstellen.
Thumbnails verwalten
Thumbnails helfen Nutzern, Drive-Dateien zu identifizieren. Drive kann automatisch Thumbnails für gängige Dateitypen generieren. Sie können aber auch ein von Ihrer App generiertes Thumbnail bereitstellen. Weitere Informationen finden Sie unter Thumbnails hochladen.
Vorhandene Datei kopieren
Wenn Sie eine Datei kopieren und alle angeforderten Aktualisierungen anwenden möchten, verwenden Sie die copy Methode für die files Ressource. Die zu kopierende
fileId finden Sie mit der list Methode.
Sie können Aktualisierungen über Patch-Semantik anwenden, d. h. Sie können teilweise Änderungen an einer Ressource vornehmen. Sie müssen die Felder, die Sie ändern möchten, explizit in Ihrer Anfrage festlegen. Alle Felder, die nicht in der Anfrage enthalten sind, behalten ihre vorhandenen Werte bei. Weitere Informationen finden Sie unter Mit Teilressourcen arbeiten.
Sie können die Datei-ID der kopierten Datei mit der generateIds Methode vorab festlegen. Weitere Informationen finden Sie unter
IDs für die Verwendung mit Ihren Dateien generieren.
Sie müssen einen geeigneten Drive API Bereich verwenden, um den Aufruf zu autorisieren. Weitere Informationen zu Drive-Bereichen finden Sie unter Google Drive API-Bereiche auswählen.
Einschränkungen und Überlegungen
Beachten Sie beim Vorbereiten des Kopierens von Dateien die folgenden Einschränkungen und Überlegungen:
Berechtigungen:
- Das
DownloadRestrictionsMetadataObjekt derfilesRessource bestimmt wer die Datei kopieren kann. Weitere Informationen finden Sie unter Verhindern, dass Nutzer Ihre Datei herunterladen, drucken oder kopieren. - Das
capabilities.canCopyFeld der Ressource bestimmt, ob der Nutzer eine Datei kopieren kann. Weitere Informationen finden Sie unter Informationen zu Dateifunktionen. - Der Nutzer, der die Kopie erstellt hat, ist der Eigentümer der kopierten Datei. Keine anderen Freigabeeinstellungen aus der Quelldatei werden repliziert. Wenn die Kopie in einem freigegebenen Ordner erstellt wird, übernimmt sie die Berechtigungen dieses Ordners.
- Die Eigentümerschaft einer kopierten Datei kann sich ändern und die Kopie übernimmt möglicherweise nicht die Freigabeeinstellungen der Originaldatei. Diese Einstellungen müssen möglicherweise zurückgesetzt werden.
- Das
Dateiverwaltung:
- Einige Dateien, z. B. Verknüpfungen von Drittanbietern, können nicht kopiert werden.
- Sie können eine Datei nur in einen übergeordneten Ordner kopieren. Die Angabe mehrerer übergeordneter Ordner wird nicht unterstützt. Wenn das
parentsFeld nicht angegeben ist, übernimmt die Datei alle erkennbaren übergeordneten Ordner aus der Quelldatei. - Obwohl ein Ordner ein Dateityp ist, können Sie keinen Ordner kopieren.
Erstellen Sie stattdessen einen Zielordner und legen Sie das Feld
parentsder vorhandenen Dateien auf den Zielordner fest. Anschließend können Sie den ursprünglichen Quellordner löschen. - Wenn kein neuer Dateiname angegeben wird, erstellt die Methode
copyeine Datei mit demselben Namen wie das Original. - Eine übermäßige Verwendung von
copykann dazu führen, dass die Kontingentlimits der Drive API überschritten werden. Weitere Informationen finden Sie unter Nutzungs limits.
Weitere Informationen
Hier sind einige mögliche nächste Schritte:
Informationen zum Hochladen von Dateidaten beim Erstellen oder Aktualisieren einer Datei finden Sie unter Dateidaten hochladen.
Informationen zum Erstellen einer Datei in einem bestimmten Ordner finden Sie unter Datei in einem bestimmten Ordner erstellen.
Informationen zum Verschieben von Dateien finden Sie unter Dateien zwischen Ordnern verschieben.
Informationen zum Arbeiten mit Dateimetadaten finden Sie unter Dateimetadaten verwalten.
Informationen zum Löschen einer Datei finden Sie unter Dateien und Ordner in den Papierkorb verschieben oder löschen.