Z tego dokumentu dowiesz się, jak zarządzać zatwierdzeniami w interfejsie Google Drive API.
Użytkownicy mogą wysyłać dokumenty z Dysku Google do formalnego zatwierdzenia. Możesz skorzystać z tego procesu, aby na przykład uzyskać formalne zatwierdzenie umowy lub oficjalnego dokumentu przed opublikowaniem. Zatwierdzenie śledzi stan zarówno procesu sprawdzania (np. W trakcie sprawdzania, Zatwierdzono lub Odrzucono), jak i zaangażowanych weryfikatorów. Zatwierdzenia to doskonały sposób na weryfikację treści i prowadzenie rejestru weryfikatorów.
Możesz tworzyć zatwierdzenia treści i nimi zarządzać na Dysku. Interfejs
Google Drive API udostępnia zasób approvals
do pracy z zatwierdzeniami plików. Metody zasobu approvals działają na elementach na Dysku, w Dokumentach Google i innych edytorach Google Workspace. Recenzenci mogą zatwierdzać i odrzucać dokumenty oraz wystawiać opinie na ich temat. Wszystko to jest możliwe bezpośrednio.
Zanim zaczniesz
Twój plik powinien zawierać możliwość
canStartApproval. Aby sprawdzić możliwości pliku, wywołaj metodęgetw zasobiefilesz parametrem ścieżkifileIdi użyj pola możliwościcanStartApprovalw parametrzefields. Więcej informacji znajdziesz w artykule o możliwościach plików.Wartość logiczna możliwości
canStartApprovaltofalse, gdy:- Ustawienia administratora ograniczają dostęp do tej funkcji.
- Twoja wersja Google Workspace jest niekwalifikująca się.
- Plik jest własnością użytkownika spoza Twojej domeny.
- Użytkownik nie ma uprawnienia
role=writerdo pliku.
Udostępnij ręcznie plik docelowy recenzentom. Dysk nie robi tego automatycznie. Jeśli recenzent nie ma dostępu do pliku, prośba o zatwierdzenie zostanie zrealizowana, ale recenzent nie otrzyma powiadomień ani nie będzie mógł wyświetlić pliku.
Pojęcia
Podstawą zatwierdzeń są te kluczowe pojęcia.
Stan zatwierdzenia
Gdy poprosisz o zatwierdzenie dokumentu, proces zatwierdzania zapewni, że każdy recenzent zatwierdzi tę samą wersję treści. Jeśli plik zostanie zmodyfikowany po zatwierdzeniu prośby przez recenzenta i przed jej zakończeniem, zatwierdzenia recenzenta zostaną zresetowane, a recenzenci będą musieli zatwierdzić nową wersję. Jeśli treść zostanie zmodyfikowana po ostatecznym zatwierdzeniu, w dokumencie pojawi się baner informujący, że bieżąca wersja różni się od zatwierdzonej.
Zasób approvals zawiera obiekt
Status, który zawiera szczegółowe informacje o stanie
zatwierdzenia, gdy żądanie dotyczy zasobu. Zawiera też obiekt
ReviewerResponse, który
zawiera szczegółowe informacje o odpowiedziach na zatwierdzenie dokonane przez konkretnych recenzentów. Odpowiedź każdego recenzenta jest reprezentowana przez obiekt
Response.
Każda czynność w procesie zatwierdzania generuje powiadomienia e-mail wysyłane do inicjatora (użytkownika, który prosi o zatwierdzenie) i wszystkich recenzentów. Jest też dodawana do dziennika aktywności zatwierdzania.
Wszyscy recenzenci muszą zatwierdzić zatwierdzenie. Każdy recenzent, który odrzuci zatwierdzenie, ustawi stan ukończenia na DECLINED.
Gdy zatwierdzenie zostanie ukończone (stan to APPROVED, CANCELLED lub DECLINED), pozostaje w stanie ukończonym i nie może być używane przez inicjatora ani recenzentów. Możesz dodawać komentarze do ukończonego zatwierdzenia, o ile nie ma zatwierdzenia pliku ze stanem IN_PROGRESS.
Cykl życia zatwierdzenia
Podczas swojego cyklu życia zatwierdzenie przechodzi przez kilka stanów. Rysunek 1 przedstawia ogólne etapy cyklu życia zatwierdzenia:
Rozpocznij zatwierdzanie. Aby rozpocząć prośbę o zatwierdzenie, wywołaj metodę
start. Wtedystatuszostanie ustawiony naIN_PROGRESS.Zatwierdzenie oczekuje. Gdy zatwierdzenie oczekuje (
statusjest ustawiony naIN_PROGRESS), zarówno inicjator, jak i recenzenci mogą z nim wchodzić w interakcje. Mogą dodaćcomment, inicjator możereassignrecenzentów, a co najmniej 1 recenzent możeapproveprośbę.Zatwierdzenie jest w stanie ukończonym. Zatwierdzenie przechodzi w stan ukończony (
statusjest ustawiony naAPPROVED,CANCELLEDlubDECLINED), gdy wszyscy recenzenci zatwierdzą prośbę, inicjator zdecyduje sięcancelprośbę lub gdy któryś z recenzentów zdecyduje siędeclineprośbę.
Używanie parametru fields
Jeśli chcesz określić pola, które mają być zwracane w odpowiedzi, możesz ustawić
fields parametr
systemowy
za pomocą dowolnej metody zasobu approvals. Jeśli pominiesz parametr fields, serwer zwróci domyślny zestaw pól właściwy dla danej metody. Aby zwrócić
inne pola, zobacz Zwracanie określonych pól.
Rozpoczynanie zatwierdzeń i zarządzanie nimi
Zasób approvals może służyć do rozpoczynania
zatwierdzeń i zarządzania nimi za pomocą interfejsu Drive API. Te metody działają z dowolnym z istniejących zakresów OAuth 2.0 interfejsu Drive API, które umożliwiają zapisywanie metadanych pliku. Więcej informacji znajdziesz w artykule Wybieranie zakresów interfejsu Google Drive API.
Rozpoczynanie zatwierdzania
Aby rozpocząć nowe zatwierdzanie pliku, użyj metody
start w zasobie approvals i dodaj parametr ścieżki fileId.
Treść żądania składa się z
wymaganego pola reviewerEmails, które jest tablicą ciągów znaków zawierającą
adresy e-mail recenzentów przypisanych do sprawdzenia pliku. Każdy adres e-mail recenzenta musi być powiązany z kontem Google, w przeciwnym razie żądanie się nie powiedzie.
Dostępne są też 3 pola opcjonalne:
dueTime: termin zatwierdzenia w formacie RFC 3339.lockFile: wartość logiczna wskazująca, czy plik ma być zablokowany podczas rozpoczynania zatwierdzania. Uniemożliwia to użytkownikom modyfikowanie pliku podczas procesu zatwierdzania. Każdy użytkownik z uprawnieniemrole=writermoże usunąć tę blokadę.message: niestandardowa wiadomość wysłana do recenzentów.
Treść odpowiedzi zawiera instancję zasobu approvals i
zawiera
initiator pole
które jest użytkownikiem, który poprosił o zatwierdzenie. Zatwierdzenie Status jest ustawione na IN_PROGRESS.
Jeśli istnieje zatwierdzenie ze Status IN_PROGRESS, metoda start się nie powiedzie. Zatwierdzenie możesz rozpocząć tylko wtedy, gdy nie ma zatwierdzenia pliku lub gdy istniejące zatwierdzenie jest w stanie ukończonym (stan to APPROVED, CANCELLED lub 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."
}'
Zastąp następujące elementy:
- FILE_ID: identyfikator pliku, którego dotyczy zatwierdzenie.
- ACCESS_TOKEN: token OAuth 2.0 Twojej aplikacji.
Komentowanie zatwierdzenia
Aby skomentować zatwierdzenie, użyj metody
comment w zasobie approvals i dodaj parametry ścieżki fileId i approvalId.
Treść żądania składa się
z wymaganego pola message, które jest ciągiem znaków zawierającym komentarz, który chcesz
dodać do zatwierdzenia.
Treść odpowiedzi zawiera instancję zasobu approvals. Wiadomość jest wysyłana do inicjatora zatwierdzenia i recenzentów jako powiadomienie, a także jest uwzględniana w dzienniku aktywności zatwierdzania.
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."
}'
Zastąp następujące elementy:
- FILE_ID: identyfikator pliku, którego dotyczy zatwierdzenie.
- APPROVAL_ID: identyfikator zatwierdzenia.
- ACCESS_TOKEN: token OAuth 2.0 Twojej aplikacji.
Ponowne przypisywanie recenzentów do zatwierdzenia
Aby ponownie przypisać recenzentów do zatwierdzenia, użyj metody
reassign w zasobie approvals i dodaj parametry ścieżki fileId i approvalId.
Metoda reassign umożliwia inicjatorowi zatwierdzenia (lub użytkownikowi z uprawnieniem
role=writer ) dodawanie lub zastępowanie recenzentów w obiekcie
ReviewerResponse zasobu
approvals. Użytkownik z uprawnieniem role=reader może ponownie przypisać tylko zatwierdzenie przypisane do siebie. Umożliwia to użytkownikowi ponowne przypisanie prośby do innej osoby, która jest bardziej kompetentnym recenzentem.
Recenzentów można ponownie przypisać tylko wtedy, gdy
Status ma wartość IN_PROGRESS, a pole
response
dla recenzenta, który ma zostać ponownie przypisany, ma wartość NO_RESPONSE.
Pamiętaj, że nie możesz usunąć recenzenta z zatwierdzenia. Jeśli chcesz usunąć recenzenta, musisz anulować zatwierdzenie i rozpocząć nowe.
Treść żądania składa
się z opcjonalnych pól addReviewers i replaceReviewers. Każde pole ma a
powtarzany obiekt dla
AddReviewer
i
ReplaceReviewer
który zawiera pojedynczego recenzenta do dodania lub parę recenzentów do zastąpienia.
Możesz też dodać opcjonalne pole message zawierające komentarz, który chcesz wysłać do nowych recenzentów.
Treść odpowiedzi zawiera instancję zasobu approvals. Wiadomość jest wysyłana do nowych recenzentów jako powiadomienie, a także jest uwzględniana w dzienniku aktywności zatwierdzania.
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."
}'
Zastąp następujące elementy:
- FILE_ID: identyfikator pliku, którego dotyczy zatwierdzenie.
- APPROVAL_ID: identyfikator zatwierdzenia.
- ACCESS_TOKEN: token OAuth 2.0 Twojej aplikacji.
Anulowanie zatwierdzenia
Aby anulować zatwierdzenie, użyj metody cancel
w zasobie approvals i dodaj
parametry ścieżki fileId i approvalId.
Metodę cancel może wywołać tylko inicjator zatwierdzenia (lub użytkownik z
uprawnieniem role=writer), gdy
Status ma wartość IN_PROGRESS.
Treść żądania składa się z
opcjonalnego pola message, które jest ciągiem znaków zawierającym wiadomość towarzyszącą
anulowaniu zatwierdzenia.
Treść odpowiedzi zawiera instancję zasobu approvals. Wiadomość jest wysyłana jako powiadomienie, a także jest uwzględniana w dzienniku aktywności zatwierdzania.
Status zatwierdzenia jest ustawiony na CANCELLED i jest w stanie ukończonym.
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."
}'
Zastąp następujące elementy:
- FILE_ID: identyfikator pliku, którego dotyczy zatwierdzenie.
- APPROVAL_ID: identyfikator zatwierdzenia.
- ACCESS_TOKEN: token OAuth 2.0 Twojej aplikacji.
Odrzucanie zatwierdzenia
Aby odrzucić zatwierdzenie, użyj metody
decline w zasobie approvals i dodaj parametry ścieżki fileId i approvalId.
Metodę decline można wywołać tylko wtedy, gdy Status zatwierdzenia ma wartość IN_PROGRESS.
Treść żądania składa się z
opcjonalnego pola message, które jest ciągiem znaków zawierającym wiadomość towarzyszącą
odrzuceniu zatwierdzenia.
Treść odpowiedzi zawiera instancję zasobu approvals. Wiadomość jest wysyłana jako powiadomienie, a także jest uwzględniana w dzienniku aktywności zatwierdzania.
Pole response
obiektu ReviewerResponse
użytkownika wysyłającego żądanie jest ustawione na DECLINED. Dodatkowo Status zatwierdzenia jest ustawiony na DECLINED i jest w stanie ukończonym.
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."
}'
Zastąp następujące elementy:
- FILE_ID: identyfikator pliku, którego dotyczy zatwierdzenie.
- APPROVAL_ID: identyfikator zatwierdzenia.
- ACCESS_TOKEN: token OAuth 2.0 Twojej aplikacji.
Zatwierdzanie zatwierdzenia
Aby zatwierdzić zatwierdzenie, użyj metody
approve w zasobie approvals i dodaj parametry ścieżki fileId i approvalId.
Metodę approve można wywołać tylko wtedy, gdy Status zatwierdzenia ma wartość IN_PROGRESS.
Treść żądania składa się
z opcjonalnego pola message, które jest ciągiem znaków zawierającym wiadomość towarzyszącą
zatwierdzeniu.
Treść odpowiedzi zawiera instancję zasobu approvals. Wiadomość jest wysyłana jako powiadomienie, a także jest uwzględniana w dzienniku aktywności zatwierdzania.
Pole response
obiektu ReviewerResponse
użytkownika wysyłającego żądanie jest ustawione na APPROVED. Dodatkowo, jeśli jest to ostatnia wymagana odpowiedź recenzenta, Status zatwierdzenia jest ustawiony na APPROVED i jest w stanie ukończonym.
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."
}'
Zastąp następujące elementy:
- FILE_ID: identyfikator pliku, którego dotyczy zatwierdzenie.
- APPROVAL_ID: identyfikator zatwierdzenia.
- ACCESS_TOKEN: token OAuth 2.0 Twojej aplikacji.
Znajdowanie istniejących zatwierdzeń
Zasób approvals może też służyć do pobierania
i wyświetlania stanu zatwierdzeń za pomocą interfejsu Drive API.
Aby wyświetlić zatwierdzenia pliku, musisz mieć uprawnienia do odczytu metadanych pliku. Więcej informacji znajdziesz w artykule Role i uprawnienia.
Pobieranie zatwierdzenia
Aby pobrać zatwierdzenie pliku, użyj metody get
w zasobie approvals z parametrami ścieżki fileId i approvalId path. Jeśli nie znasz identyfikatora zatwierdzenia, możesz wyświetlić listę
zatwierdzeń za pomocą metody list.
Treść odpowiedzi zawiera instancję zasobu 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'
Zastąp następujące elementy:
- FILE_ID: identyfikator pliku, którego dotyczy zatwierdzenie.
- APPROVAL_ID: identyfikator zatwierdzenia.
- ACCESS_TOKEN: token OAuth 2.0 Twojej aplikacji.
Wyświetlanie listy zatwierdzeń
Aby wyświetlić listę zatwierdzeń pliku, wywołaj metodę
list w zasobie approvalsi dodaj parametr ścieżki fileId.
Treść odpowiedzi składa się z
listy zatwierdzeń pliku. Pole
items
zawiera informacje o każdym zatwierdzeniu w postaci zasobu
approvals.
Możesz też przekazać te parametry zapytania, aby dostosować stronicowanie lub filtrowanie zatwierdzeń:
pageSize: maksymalna liczba zatwierdzeń do zwrócenia na stronie. Jeśli nie ustawiszpageSize, serwer zwróci maksymalnie 100 zatwierdzeń.pageToken: token strony otrzymany z poprzedniego wywołania listy. Ten token służy do pobierania kolejnej strony. Należy go ustawić na wartośćnextPageTokenz poprzedniej odpowiedzi.
curl
curl -X GET 'https://www.googleapis.com/drive/v3/files/FILE_ID/approvals?pageSize=10' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Accept: application/json'
Zastąp następujące elementy:
- FILE_ID: identyfikator pliku, którego dotyczy zatwierdzenie.
- ACCESS_TOKEN: token OAuth 2.0 Twojej aplikacji.
Powiązane artykuły
- Role i uprawnienia
- Zarządzanie zatwierdzeniami jako administrator
- Uzyskiwanie zatwierdzeń plików na Dysku Google