Google Drive-Ereignisse abonnieren

Auf dieser Seite werden die Google Drive-Ereignisse beschrieben, die Ihre App mit der Google Workspace Events API abonnieren kann. Nachdem Sie entschieden haben, welche Ereignistypen Sie benötigen, erstellen Sie ein Abo, um Ereignisse von Drive zu empfangen.

Weitere Informationen zur Entwicklung von Apps für Drive finden Sie in der Google Drive API – Übersicht.

Unterstützte Drive-Ereignisse

Mit Google Workspace-Abos können Sie Ereignisse zu den folgenden Arten von Änderungen in Drive erhalten:

  • Eine Datei ist:
    • Sie wurden einem Ordner oder einer geteilten Ablage hinzugefügt.
    • In einen Ordner oder eine geteilte Ablage verschoben
    • Eine bearbeitete oder neue Version wird hochgeladen.
    • In den Papierkorb verschoben oder aus dem Papierkorb entfernt.
  • Für eine Datei wird ein Zugriffsvorschlag erstellt oder aufgelöst.

Ressourcen, die Sie auf Ereignisse überwachen können

Damit Sie Ereignisse empfangen können, müssen Sie eine zu überwachende Drive-Ressource angeben, die als Zielressource des Abos bezeichnet wird.

Die Google Workspace Events API unterstützt die folgenden Zielressourcen für Drive:

Zielressource Format Einschränkungen (falls zutreffend)
Datei //drive.googleapis.com/files/FILE

Dabei ist FILE die ID im Ressourcennamen der Drive API-Ressource files. Sie können die ID aus der URL der Datei oder mit der Methode files.list abrufen.

Der Nutzer, der das Abo autorisiert, muss die Berechtigung für die Datei im Abo in Bezug auf das Ereignis „Abonnieren“ haben.
Geteilte Ablage //drive.googleapis.com/drives/DRIVE

Dabei ist DRIVE die ID im Ressourcennamen der Drive API-Ressource drives. Sie können die ID aus der URL des Laufwerks oder mit der Methode drives.list abrufen.

Das Abo empfängt nur Ereignisse für Elemente in der geteilten Ablage, in der der Nutzer über sein Google Workspace-Konto oder Google-Konto Mitglied ist.

Ereignistypen zum Erstellen von Abos

Wenn Sie ein Abo für eine Drive-Ressource erstellen, geben Sie mit dem Feld eventTypes[] an, welche Arten von Ereignissen Sie erhalten möchten. Ereignistypen werden gemäß der CloudEvents-Spezifikation formatiert, z. B. google.workspace.APPLICATION.RESOURCE.VERSION.ACTION.

Wenn Sie beispielsweise Ereignisse dazu erhalten möchten, dass eine Datei in einem Ordner oder einer geteilten Ablage erstellt wird, geben Sie die Datei als Zielressource und den Ereignistyp als google.workspace.drive.file.v3.created an. Wenn Sie Ereignisse dazu erhalten möchten, dass für eine Datei ein Zugriffsvorschlag erstellt wird, geben Sie den Zugriffsvorschlag als Zielressource und den Ereignistyp als google.workspace.drive.accessproposal.v3.created an. Weitere Informationen zur Funktionsweise von Ereignissen finden Sie unter Struktur von Google Workspace-Ereignissen.

In der folgenden Tabelle sehen Sie, welche Ereignistypen für Abonnements von Drive-Ressourcen unterstützt werden:

Ereignistyp Format Ressourcendaten
Abos für Dateien  
Eine Datei wird einem Ordner oder einer geteilten Ablage hinzugefügt.

google.workspace.drive.file.v3.created

file

Eine Datei wird in einen Ordner oder eine geteilte Ablage verschoben.

google.workspace.drive.file.v3.moved

file

Eine Datei wird bearbeitet oder eine neue Überarbeitung wird hochgeladen.

google.workspace.drive.file.v3.contentChanged

file

Eine Datei wird gelöscht.

google.workspace.drive.file.v3.deleted

file

Eine Datei wird in den Papierkorb verschoben.

google.workspace.drive.file.v3.trashed

file

Eine Datei wird aus dem Papierkorb entfernt.

google.workspace.drive.file.v3.untrashed

file

Für eine Datei wird ein Zugriffsvorschlag erstellt.

google.workspace.drive.accessproposal.v3.created

accessproposal

Ein Zugriffsvorschlag wird für eine Datei bearbeitet.

google.workspace.drive.accessproposal.v3.resolved

accessproposal

Abos für geteilte Ablagen  
Eine Datei wird einem Ordner oder einer geteilten Ablage hinzugefügt.

google.workspace.drive.file.v3.created

file

Eine Datei wird in einen Ordner oder eine geteilte Ablage verschoben.

google.workspace.drive.file.v3.moved

file

Eine Datei wird bearbeitet oder eine neue Überarbeitung wird hochgeladen.

google.workspace.drive.file.v3.contentChanged

file

Eine Datei wird gelöscht.

google.workspace.drive.file.v3.deleted

file

Eine Datei wird in den Papierkorb verschoben.

google.workspace.drive.file.v3.trashed

file

Eine Datei wird aus dem Papierkorb entfernt.

google.workspace.drive.file.v3.untrashed

file

Für eine Datei wird ein Zugriffsvorschlag erstellt.

google.workspace.drive.accessproposal.v3.created

accessproposal

Ein Zugriffsvorschlag wird für eine Datei bearbeitet.

google.workspace.drive.accessproposal.v3.resolved

accessproposal

Ereignisdaten

In diesem Abschnitt werden Ereignisdaten und Beispielnutzlasten für Ereignisse in Drive beschrieben.

Wenn Ihr Google Workspace-Abo ein Ereignis von Drive empfängt, enthält das Feld data die Nutzlast für das Ereignis. Diese Nutzlast enthält Informationen zur geänderten Google Workspace-Ressource. Wenn Sie beispielsweise Datei-Ereignisse abonniert haben, enthält die Nutzlast für diese Ereignisse Informationen zur geänderten file-Ressource.

Ressourcendaten in der Ereignisnutzlast

Wenn Sie ein Abo erstellen, können Sie angeben, ob die Nutzlast Details zur Ressource oder nur den Namen der Ressource enthalten soll. Wenn Sie beispielsweise Ereignisse zu Dateien in Drive erhalten möchten, können Sie angeben, welche Felder einer files-Ressource Sie in der Ereignisnutzlast erhalten möchten.

In der folgenden Tabelle finden Sie Beispiele für JSON-Nutzlasten für ein Abo der Drive-Ressource. Die Datei-ID enthält Buchstaben, Zahlen und einige Sonderzeichen im Format files/^[01][0-9a-zA-Z_-]+$/. Beispiel: files/1aaabbbAAABBB111222-_ Für jedes Ereignis, das das Abo empfängt, wird die Nutzlast im Feld data des Ereignisses angezeigt:

Beispiel Ereignistyp JSON-Nutzlast

Ein Nutzer fügt einem Ordner oder einer geteilten Ablage eine Datei hinzu.

google.workspace.drive.file.v3.created

Enthält Ressourcendaten
{
    "file": {
      "id": "FILE_ID",
      "parent": "PARENT_ID",
      "version": "63",
      "mimeType": "application/vnd.google-apps.document"
    }
}
      
Ressourcendaten sind ausgeschlossen
{
    "file": {
      "id": "FILE_ID"
    }
}
      

Ein Nutzer verschiebt eine Datei in einen Ordner oder eine geteilte Ablage.

google.workspace.drive.file.v3.moved

Enthält Ressourcendaten
{
    "file": {
      "id": "FILE_ID",
      "parent": "PARENT_ID",
      "version": "63",
      "mimeType": "application/vnd.google-apps.document"
    }
}
      
Ressourcendaten sind ausgeschlossen
{
    "file": {
      "id": "FILE_ID"
    }
}
      

Ein Nutzer bearbeitet eine Datei oder eine neue Revision wird hochgeladen.

google.workspace.drive.file.v3.contentChanged

Enthält Ressourcendaten
{
    "file": {
      "id": "FILE_ID",
      "parent": "PARENT_ID",
      "version": "63",
      "mimeType": "application/vnd.google-apps.document"
    }
}
      
Ressourcendaten sind ausgeschlossen
{
    "file": {
      "id": "FILE_ID"
    }
}
      

Ein Nutzer löscht eine Datei.

google.workspace.drive.file.v3.deleted

Enthält Ressourcendaten
{
    "file": {
      "id": "FILE_ID",
      "parent": "PARENT_ID",
      "version": "63",
      "mimeType": "application/vnd.google-apps.document"
    }
}
      
Ressourcendaten sind ausgeschlossen
{
    "file": {
      "id": "FILE_ID"
    }
}
      

Ein Nutzer verschiebt eine Datei in den Papierkorb.

google.workspace.drive.file.v3.trashed

Enthält Ressourcendaten
{
    "file": {
      "id": "FILE_ID",
      "parent": "PARENT_ID",
      "version": "63",
      "mimeType": "application/vnd.google-apps.document"
    }
}
      
Ressourcendaten sind ausgeschlossen
{
    "file": {
      "id": "FILE_ID"
    }
}
      

Ein Nutzer stellt eine Datei aus dem Papierkorb wieder her.

google.workspace.drive.file.v3.untrashed

Enthält Ressourcendaten
{
    "file": {
      "id": "FILE_ID",
      "parent": "PARENT_ID",
      "version": "63",
      "mimeType": "application/vnd.google-apps.document"
    }
}
      
Ressourcendaten sind ausgeschlossen
{
    "file": {
      "id": "FILE_ID"
    }
}
      

Ein Nutzer erstellt einen Zugriffsvorschlag für eine Datei.

google.workspace.drive.accessproposal.v3.created

Enthält Ressourcendaten
{
    "accessProposal": [
      {
        "file_id": "FILE_ID",
        "proposalId": "PROPOSAL_ID",
        "recipientEmailAddress": "63",
        "requesterEmailAddress": "application/vnd.google-apps.document",
        "requestMessage": "grant me access to this file",
        "rolesAndViews": [
          {
            "role": "writer",
            "view": "published"
          }
        ]
      }
    ]
}
      
Ressourcendaten sind ausgeschlossen
{
    "accessProposal": [
      {
        "proposalId": "PROPOSAL_ID"
      }
    ]
}
      

Ein Nutzer bearbeitet einen Zugriffsvorschlag für eine Datei.

google.workspace.drive.accessProposal.v3.resolved

Enthält Ressourcendaten
{
    "accessProposal": [
      {
        "file_id": "FILE_ID",
        "proposalId": "PROPOSAL_ID",
        "recipientEmailAddress": "63",
        "requesterEmailAddress": "application/vnd.google-apps.document",
        "requestMessage": "resolve access to this file",
        "rolesAndViews": [
          {
            "role": "writer",
            "view": "published"
          }
        ]
      }
    ]
}
      
Ressourcendaten sind ausgeschlossen
{
    "accessProposal": [
      {
        "proposalId": "PROPOSAL_ID"
      }
    ]
}
      

Beschränkungen

  • Wenn das boolesche Feld includeDescendants in DriveOptions true ist, wird bei Drive-Abos für geteilte Ablagen und Ordner immer ein Ereignis gesendet, auch wenn die Datei, die das Ereignis ausgelöst hat, viele Ebenen unter dem Ordner liegt, der für das Drive-Abo verwendet wird.
  • Auch wenn Sie ein Abo für einen Ordner erstellt haben, erhalten Sie möglicherweise nicht alle Ereignisse in der Dateihierarchie, da der Nutzer oder die Anwendung möglicherweise keinen Zugriff darauf hat. In diesem Fall bleibt das Abo aktiv, Sie erhalten aber keine Ereignisse für Ressourcen, auf die Sie keinen Zugriff haben.
  • Abos werden für Ereignisse für alle Dateien und Ordner unterstützt, nicht jedoch für den Stammordner von geteilten Ablagen. Abos werden nur für Dateien und Ordner in geteilten Ablagen unterstützt. Änderungen, die direkt am Stammordner einer geteilten Ablage vorgenommen werden, lösen keine Ereignisse aus.
  • Der Nutzer, der das Abo autorisiert, muss die Berechtigung für die Datei haben, die den Ereignissen entspricht, die er abonniert.
  • Das Abo empfängt nur Ereignisse für Ressourcen, auf die der Nutzer über sein Google Workspace-Konto oder Google-Konto Zugriff hat.