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
Ihre Datei muss die
canStartApprovalFunktion enthalten . Wenn Sie die Funktionen einer Datei prüfen möchten, rufen Sie diegetMethode für diefilesRessource mit demfileIdPfadparameter auf und verwenden Sie dascanStartApprovalFeld in derfieldsFunktion. Weitere Informationen finden Sie unter Funktionen von Dateien.Die boolesche Funktion
canStartApprovalistfalse, 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=writerfür die Datei hat.
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 aufNO_RESPONSEzurückgesetzt) und die Prüfer müssen die neue Version genehmigen. Wenn die Genehmigung den StatusAPPROVEDhat, 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 EntscheidungAPPROVEDauch jederzeit vor Abschluss der Genehmigung wieder auf den Status „Ausstehend“ zurücksetzen (die Antwort wird aufNO_RESPONSEzurü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
Eine Genehmigung durchläuft während ihres Lebenszyklus mehrere Status. Abbildung 1 zeigt die allgemeinen Schritte eines Genehmigungslebenszyklus:
Genehmigung starten. Rufen Sie
startauf, um die Genehmigungsanfrage zu starten. Derstatuswird dann aufIN_PROGRESSgesetzt.Genehmigung ausstehend. Während die Genehmigung aussteht (
statusist aufIN_PROGRESSgesetzt), können sowohl der Initiator als auch die Prüfer damit interagieren. Sie können einencommenthinzufügen, der Initiator kann Prüferreassignund ein oder mehrere Prüfer können die Anfrageapprove.Genehmigung im Status „Abgeschlossen“. Eine Genehmigung wechselt in den Status „Abgeschlossen“ (
statusist aufAPPROVED,CANCELLEDoderDECLINEDgesetzt), wenn alle Prüfer die Anfrage genehmigen, der Initiator die Anfragecanceloder ein Prüfer die Anfragedecline.
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 Berechtigungrole=writerkann 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 vonAPPROVEDaufNO_RESPONSEzurück, wenn sich der Inhalt ändert, während die Genehmigung läuft. Die Datei wird gesperrt, sobald die Genehmigung mit dem StatusAPPROVEDabgeschlossen 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 SiepageSizenicht 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 vonnextPageTokenaus 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.
Weitere Informationen
- Rollen und Berechtigungen
- Genehmigungen als Administrator verwalten
- Genehmigungen für Dateien in Google Drive erhalten