Genehmigungen verwalten

In diesem Dokument wird erläutert, wie Sie Genehmigungen in der Google Drive API verwalten.

Nutzer können Dokumente in Google Drive durch ein formelles Genehmigungsverfahren laufen lassen. Dies eignet sich beispielsweise für die Genehmigung einer Vertragsprüfung oder eines offiziellen Dokuments vor der Veröffentlichung. Bei einer Genehmigung wird der Status der Überprüfung (z. B. „In Bearbeitung“, „Genehmigt“ oder „Abgelehnt“) und die beteiligten Prüfer erfasst. Genehmigungen sind eine hervorragende Möglichkeit, Inhalte zu validieren und eine Aufzeichnung der Prüfer zu führen.

Sie können Inhaltsgenehmigungen in Drive erstellen und verwalten. Die Google Drive API bietet die approvals Ressource für die Arbeit mit Dateigenehmigungen. Die Methoden der Ressource approvals funktionieren für Elemente in Google Drive, Google Docs und anderen Google Workspace-Editoren. Prüfer können die Dokumente direkt genehmigen, ablehnen oder Feedback dazu geben.

Hinweis

  1. Ihre Datei muss die canStartApproval Funktion enthalten . Wenn Sie die Funktionen einer Datei prüfen möchten, rufen Sie die get Methode für die files Ressource mit dem fileId Pfadparameter auf und verwenden Sie das canStartApproval Feld in der fields Funktion. Weitere Informationen finden Sie unter Funktionen von Dateien.

    Die boolesche Funktion canStartApproval ist false, wenn:

    • Administratoreinstellungen den Zugriff auf die Funktion einschränken.
    • Ihre Google Workspace-Version nicht berechtigt ist.
    • Die Datei einem Nutzer außerhalb Ihrer Domain gehört.
    • Der Nutzer nicht die Berechtigung role=writer für die Datei hat.
  2. Sie müssen die Zieldatei manuell für die Prüfer freigeben. In Drive erfolgt dies nicht automatisch. Wenn ein Prüfer keinen Zugriff auf die Datei hat, wird die Genehmigungsanfrage erfolgreich ausgeführt, aber er erhält keine Benachrichtigungen und kann die Datei nicht ansehen.

Konzepte

Die folgenden Schlüsselkonzepte bilden die Grundlage für Genehmigungen.

Freigabestatus

Wenn Sie eine Dokumentgenehmigung anfordern, wird im Genehmigungsprozess sichergestellt, dass jeder Prüfer Feedback zum Dokument geben kann.

Die approvals Ressource enthält ein Status Objekt, in dem der Status der Genehmigung detailliert beschrieben wird, wenn die Ressource angefordert wird. Außerdem enthält sie das ReviewerResponse Objekt, in dem die Antworten auf eine Genehmigung von bestimmten Prüfern detailliert beschrieben werden. Die Antwort jedes Prüfers wird durch das Response Objekt dargestellt.

Das Verhalten der Genehmigung, wenn der Dateiinhalt geändert wird, während der Genehmigung Status ist IN_PROGRESS ist, wird durch das fileContentChangeBehavior Feld der approvals Ressource bestimmt. Folgende Verhaltensweisen können angewendet werden:

  • RESET_APPROVAL: Im Genehmigungsprozess wird sichergestellt, dass jeder Prüfer dieselbe Version des Inhalts genehmigt. Wenn die Datei bearbeitet wird, nachdem ein Prüfer die Anfrage genehmigt hat, und bevor die Anfrage abgeschlossen ist, werden die Genehmigungen des Prüfers zurückgesetzt (die Antwort wird auf NO_RESPONSE zurückgesetzt) und die Prüfer müssen die neue Version genehmigen. Wenn die Genehmigung den Status APPROVED hat, wird die Datei gesperrt, um weitere Änderungen zu verhindern. Zusätzliche Änderungen am Inhalt nach der endgültigen Genehmigung führen dazu, dass im Dokument ein Banner angezeigt wird, das darauf hinweist, dass sich die aktuelle Version von der genehmigten Version unterscheidet. Das ist das Standardverhalten.

  • NO_APPROVAL_ACTION: Änderungen am Dateiinhalt setzen die Entscheidungen der Prüfer nicht zurück, während die Genehmigung aussteht. Außerdem wird die Datei bei der endgültigen Genehmigung nicht gesperrt. Prüfer können ihre eigene Entscheidung APPROVED auch jederzeit vor Abschluss der Genehmigung wieder auf den Status „Ausstehend“ zurücksetzen (die Antwort wird auf NO_RESPONSE zurückgesetzt).

Sobald die Genehmigung abgeschlossen ist, gilt dieses Verhalten nicht mehr.

Jede Aktion im Genehmigungsprozess generiert E-Mail-Benachrichtigungen, die an den Initiator (den Nutzer, der die Genehmigung angefordert hat) und alle Prüfer gesendet werden. Sie wird auch dem Aktivitätsprotokoll für Genehmigungen hinzugefügt.

Alle Prüfer müssen eine Genehmigung genehmigen. Wenn ein Prüfer eine Genehmigung ablehnt, wird der Status „Abgeschlossen“ auf DECLINED gesetzt.

Nach Abschluss einer Genehmigung (Status APPROVED, CANCELLED oder DECLINED) bleibt sie im Status „Abgeschlossen“ und kann vom Initiator oder den Prüfern nicht mehr verwendet werden. Sie können einer abgeschlossenen Genehmigung Kommentare hinzufügen, solange keine Genehmigung für eine Datei mit dem Status IN_PROGRESS vorhanden ist.

Lebenszyklus einer Genehmigung

Der Lebenszyklus einer Genehmigung.
Abbildung 1. Der Lebenszyklus einer Genehmigung.

Eine Genehmigung durchläuft während ihres Lebenszyklus mehrere Status. Abbildung 1 zeigt die allgemeinen Schritte eines Genehmigungslebenszyklus:

  1. Genehmigung starten. Rufen Sie start auf, um die Genehmigungsanfrage zu starten. Der status wird dann auf IN_PROGRESS gesetzt.

  2. Genehmigung ausstehend. Während die Genehmigung aussteht (status ist auf IN_PROGRESS gesetzt), können sowohl der Initiator als auch die Prüfer damit interagieren. Sie können einen comment hinzufügen, der Initiator kann Prüfer reassign und ein oder mehrere Prüfer können die Anfrage approve.

  3. Genehmigung im Status „Abgeschlossen“. Eine Genehmigung wechselt in den Status „Abgeschlossen“ (status ist auf APPROVED, CANCELLED oder DECLINED gesetzt), wenn alle Prüfer die Anfrage genehmigen, der Initiator die Anfrage cancel oder ein Prüfer die Anfrage decline.

Parameter „fields“ verwenden

Wenn Sie Genehmigungsdetails abrufen möchten, müssen Sie die gewünschten Felder mit dem fields System parameter für eine beliebige Methode der approvals Ressource angeben. Im Gegensatz zu anderen Ressourcen geben Methoden der Ressource approvals keine Standardfelder zurück, wenn der Parameter fields weggelassen wird. Weitere Informationen finden Sie unter Bestimmte Felder zurückgeben.

Genehmigungen starten und verwalten

Die approvals Ressource kann verwendet werden, um Genehmigungen mit der Drive API zu starten und zu verwalten. Diese Methoden funktionieren mit allen vorhandenen OAuth 2.0-Bereichen der Drive API, die das Schreiben von Dateimetadaten ermöglichen. Weitere Informationen finden Sie unter Google Drive API-Bereiche auswählen.

Genehmigung starten

Wenn Sie eine neue Genehmigung für eine Datei starten möchten, verwenden Sie die start Methode für die approvals Ressource und fügen Sie den fileId Pfadparameter ein.

Der Anfragetext besteht aus dem Pflichtfeld reviewerEmails, einem Array von Strings mit den E-Mail-Adressen der Prüfer, die die Datei prüfen sollen. Jede E-Mail-Adresse des Prüfers muss mit einem Google-Konto verknüpft sein, andernfalls schlägt die Anfrage fehl. Außerdem sind vier optionale Felder verfügbar:

  • dueTime: Die Frist für die Genehmigung im RFC 3339-Format.
  • lockFile: Ein boolescher Wert, der angibt, ob die Datei beim Starten der Genehmigung gesperrt werden soll. Dadurch wird verhindert, dass Nutzer die Datei während des Genehmigungsprozesses ändern. Jeder Nutzer mit der Berechtigung role=writer kann diese Sperre entfernen.
  • message: Eine benutzerdefinierte Nachricht, die an die Prüfer gesendet wird.
  • fileContentChangeBehavior: Das Verhalten der Genehmigung, wenn sich der Dateiinhalt ändert. Unterstützte Werte sind:
    • RESET_APPROVAL: (Standard) Setzt alle Antworten des Prüfers von APPROVED auf NO_RESPONSE zurück, wenn sich der Inhalt ändert, während die Genehmigung läuft. Die Datei wird gesperrt, sobald die Genehmigung mit dem Status APPROVED abgeschlossen ist.
    • NO_APPROVAL_ACTION: Setzt die Antworten der Prüfer nicht zurück, wenn sich der Inhalt ändert, und sperrt die Datei nicht, wenn die Genehmigung abgeschlossen ist.

Der Antworttext enthält eine Instanz der approvals Ressource und es enthält das initiator Feld , das den Nutzer angibt, der die Genehmigung angefordert hat. Die Genehmigung Status ist auf IN_PROGRESS gesetzt.

Wenn eine vorhandene Genehmigung mit dem Status IN_PROGRESS vorhanden ist, schlägt die Methode start fehl. Sie können eine Genehmigung nur starten, wenn keine Genehmigung für die Datei vorhanden ist oder wenn die vorhandene Genehmigung abgeschlossen ist (Status APPROVED, CANCELLED oder DECLINED).

curl

curl -X POST \
  'https://www.googleapis.com/drive/v3/files/FILE_ID/approvals:start' \
  -H 'Authorization: Bearer ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "reviewerEmails": [
     "reviewer1@example.com",
     "reviewer2@example.com"
    ],
    "dueTime": "2026-04-01T15:01:23Z",
    "lockFile": true,
    "message": "Please review this file for approval.",
    "fileContentChangeBehavior": "RESET_APPROVAL"
 }'

Ersetzen Sie Folgendes:

  • FILE_ID: Die ID der Datei, für die die Genehmigung gilt.
  • ACCESS_TOKEN: Das OAuth 2.0-Token Ihrer App.

Genehmigung kommentieren

Wenn Sie eine Genehmigung kommentieren möchten, verwenden Sie die comment Methode für die approvals Ressource und fügen Sie die fileId und approvalId Pfadparameter ein.

Der Anfragetext besteht aus dem Pflichtfeld message, einem String mit dem Kommentar, den Sie der Genehmigung hinzufügen möchten.

Der Antworttext enthält eine Instanz der Ressource approvals. Die Nachricht wird als Benachrichtigung an den Initiator und die Prüfer der Genehmigung gesendet und ist auch im Aktivitätsprotokoll für Genehmigungen enthalten.

curl

curl -X POST \
  'https://www.googleapis.com/drive/v3/files/FILE_ID/approvals/APPROVAL_ID:comment' \
  -H 'Authorization: Bearer ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "message": "The required comment on the approval."
 }'

Ersetzen Sie Folgendes:

  • FILE_ID: Die ID der Datei, für die die Genehmigung gilt.
  • APPROVAL_ID: Die ID der Genehmigung.
  • ACCESS_TOKEN: Das OAuth 2.0-Token Ihrer App.

Prüfer für Genehmigung neu zuweisen

Wenn Sie Prüfer für eine Genehmigung neu zuweisen möchten, verwenden Sie die reassign Methode für die approvals Ressource und fügen Sie die fileId und approvalId Pfadparameter ein.

Mit der reassign Methode kann der Initiator der Genehmigung (oder ein Nutzer mit der role=writer Berechtigung) Prüfer im ReviewerResponse Objekt der approvals Ressource hinzufügen oder ersetzen. Ein Nutzer mit der Berechtigung role=reader kann nur eine Genehmigung neu zuweisen, die ihm zugewiesen ist. So kann der Nutzer eine Anfrage einer anderen Person zuweisen, die ein besserer Prüfer ist.

Prüfer können nur neu zugewiesen werden, wenn der Status IN_PROGRESS ist und das response Feld für den neu zugewiesenen Prüfer auf NO_RESPONSE gesetzt ist.

Hinweis: Sie können einen Prüfer nicht aus einer Genehmigung entfernen. Wenn Sie einen Prüfer entfernen möchten, müssen Sie die Genehmigung abbrechen und eine neue starten.

Der Anfragetext besteht aus den optionalen addReviewers und replaceReviewers Feldern. Jedes Feld hat ein wiederholtes Objekt für AddReviewer und ReplaceReviewer , das jeweils einen hinzuzufügenden Prüfer oder ein Paar von Prüfern enthält, die ersetzt werden sollen. Sie können auch das optionale Feld message mit dem Kommentar hinzufügen, den Sie an die neuen Prüfer senden möchten.

Der Antworttext enthält eine Instanz der Ressource approvals. Die Nachricht wird als Benachrichtigung an die neuen Prüfer gesendet und ist auch im Aktivitätsprotokoll für Genehmigungen enthalten.

curl

curl -X POST \
  'https://www.googleapis.com/drive/v3/files/FILE_ID/approvals/APPROVAL_ID:reassign' \
  -H 'Authorization: Bearer ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "addReviewers": [
    {
        "addedReviewerEmail": "new_reviewer@example.com"
    }
    ],
    "replaceReviewers": [
    {
        "addedReviewerEmail": "replacement_reviewer@example.com",
        "removedReviewerEmail": "old_reviewer@example.com"
    }
    ],
    "message": "Reassigning reviewers for this approval request."
 }'

Ersetzen Sie Folgendes:

  • FILE_ID: Die ID der Datei, für die die Genehmigung gilt.
  • APPROVAL_ID: Die ID der Genehmigung.
  • ACCESS_TOKEN: Das OAuth 2.0-Token Ihrer App.

Genehmigung abbrechen

Wenn Sie eine Genehmigung abbrechen möchten, verwenden Sie die cancel Methode für die approvals Ressource und fügen Sie die fileId und approvalId Pfadparameter ein.

Die cancel Methode kann nur vom Initiator der Genehmigung (oder einem Nutzer mit der role=writer Berechtigung) aufgerufen werden, während der Genehmigungs Status IN_PROGRESS ist.

Der Anfragetext besteht aus dem optionalen Feld message, einem String mit der Nachricht, die die Stornierung der Genehmigung begleiten soll.

Der Antworttext enthält eine Instanz der Ressource approvals. Die Nachricht wird als Benachrichtigung gesendet und ist auch im Aktivitätsprotokoll für Genehmigungen enthalten. Der Status der Genehmigung ist auf CANCELLED gesetzt und befindet sich im Status „Abgeschlossen“.

curl

curl -X POST \
  'https://www.googleapis.com/drive/v3/files/FILE_ID/approvals/APPROVAL_ID:cancel' \
  -H 'Authorization: Bearer ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "message": "The optional reason for cancelling this approval request."
 }'

Ersetzen Sie Folgendes:

  • FILE_ID: Die ID der Datei, für die die Genehmigung gilt.
  • APPROVAL_ID: Die ID der Genehmigung.
  • ACCESS_TOKEN: Das OAuth 2.0-Token Ihrer App.

Genehmigung ablehnen

Wenn Sie eine Genehmigung ablehnen möchten, verwenden Sie die decline Methode für die approvals Ressource und fügen Sie die fileId und approvalId Pfadparameter ein.

Die Methode decline kann nur aufgerufen werden, während der Status der Genehmigung IN_PROGRESS ist.

Der Anfragetext besteht aus dem optionalen Feld message, einem String mit der Nachricht, die die Ablehnung der Genehmigung begleiten soll.

Der Antworttext enthält eine Instanz der Ressource approvals. Die Nachricht wird als Benachrichtigung gesendet und ist auch im Aktivitätsprotokoll für Genehmigungen enthalten. Das response Feld des ReviewerResponse Objekts des anfragenden Nutzers ist auf DECLINED gesetzt. Außerdem ist der Status der Genehmigung auf DECLINED gesetzt und befindet sich im Status „Abgeschlossen“.

curl

curl -X POST \
  'https://www.googleapis.com/drive/v3/files/FILE_ID/approvals/APPROVAL_ID:decline' \
  -H 'Authorization: Bearer ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "message": "The optional reason for declining this approval request."
 }'

Ersetzen Sie Folgendes:

  • FILE_ID: Die ID der Datei, für die die Genehmigung gilt.
  • APPROVAL_ID: Die ID der Genehmigung.
  • ACCESS_TOKEN: Das OAuth 2.0-Token Ihrer App.

Genehmigung genehmigen

Wenn Sie eine Genehmigung genehmigen möchten, verwenden Sie die approve Methode für die approvals Ressource und fügen Sie die fileId und approvalId Pfadparameter ein.

Die approve Methode kann nur aufgerufen werden, während der Status der Genehmigung IN_PROGRESS ist.

Der Anfragetext besteht aus dem optionalen message Feld, einem String mit der Nachricht, die die Genehmigung begleinen soll.

Der Antworttext enthält eine Instanz der Ressource approvals. Die Nachricht wird als Benachrichtigung gesendet und ist auch im Aktivitätsprotokoll für Genehmigungen enthalten. Das response Feld des ReviewerResponse Objekts des anfragenden Nutzers ist auf APPROVED gesetzt. Wenn dies die letzte erforderliche Antwort des Prüfers ist, wird der Status der Genehmigung auf APPROVED gesetzt und befindet sich im Status „Abgeschlossen“.

curl

curl -X POST \
  'https://www.googleapis.com/drive/v3/files/FILE_ID/approvals/APPROVAL_ID:approve' \
  -H 'Authorization: Bearer ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "message": "The optional reason for approving this approval request."
 }'

Ersetzen Sie Folgendes:

  • FILE_ID: Die ID der Datei, für die die Genehmigung gilt.
  • APPROVAL_ID: Die ID der Genehmigung.
  • ACCESS_TOKEN: Das OAuth 2.0-Token Ihrer App.

Vorhandene Genehmigungen suchen

Die Ressource approvals kann auch verwendet werden, um den Status Ihrer Genehmigungen mit der Drive API abzurufen und aufzulisten.

Wenn Sie Genehmigungen für eine Datei ansehen möchten, benötigen Sie die Berechtigung zum Lesen der Metadaten der Datei. Weitere Informationen finden Sie unter Rollen und Berechtigungen.

Genehmigung einholen

Wenn Sie eine Genehmigung für eine Datei einholen möchten, verwenden Sie die get Methode für die approvals Ressource mit den fileId und approvalId Pfad parametern. Wenn Sie die Genehmigungs-ID nicht kennen, können Sie Genehmigungen mit der Methode list auflisten.

Der Antworttext enthält eine Instanz der Ressource approvals.

curl

curl -X GET \
  'https://www.googleapis.com/drive/v3/files/FILE_ID/approvals/APPROVAL_ID' \
  -H 'Authorization: Bearer ACCESS_TOKEN' \
  -H 'Accept: application/json'

Ersetzen Sie Folgendes:

  • FILE_ID: Die ID der Datei, für die die Genehmigung gilt.
  • APPROVAL_ID: Die ID der Genehmigung.
  • ACCESS_TOKEN: Das OAuth 2.0-Token Ihrer App.

Genehmigungen auflisten

Wenn Sie Genehmigungen für eine Datei auflisten möchten, rufen Sie die list Methode für die approvals Ressource auf und fügen Sie den fileId Pfadparameter ein.

Der Antworttext besteht aus einer Liste der Genehmigungen für die Datei. Das items Feld enthält Informationen zu jeder Genehmigung in Form einer approvals Ressource.

Sie können auch die folgenden Abfrageparameter übergeben, um die Paginierung der Genehmigungen anzupassen oder sie zu filtern:

  • pageSize: Die maximale Anzahl der Genehmigungen, die pro Seite zurückgegeben werden sollen. Wenn Sie pageSize nicht festlegen, gibt der Server bis zu 100 Genehmigungen zurück.

  • pageToken: Ein Seitentoken, das von einem vorherigen Listenaufruf empfangen wurde. Dieses Token wird verwendet, um die nachfolgende Seite abzurufen. Es sollte auf den Wert von nextPageToken aus einer vorherigen Antwort gesetzt werden.

curl

curl -X GET \
  'https://www.googleapis.com/drive/v3/files/FILE_ID/approvals?pageSize=10&fields=nextPageToken,items(approvalId,status)' \
  -H 'Authorization: Bearer ACCESS_TOKEN' \
  -H 'Accept: application/json'

Ersetzen Sie Folgendes:

  • FILE_ID: Die ID der Datei, für die die Genehmigung gilt.
  • ACCESS_TOKEN: Das OAuth 2.0-Token Ihrer App.