Zarządzanie zatwierdzeniami

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

  1. Twój plik powinien zawierać możliwość canStartApproval . Aby sprawdzić możliwości pliku, wywołaj metodę get w zasobie files z parametrem ścieżki fileId i użyj pola możliwości canStartApproval w parametrze fields. Więcej informacji znajdziesz w artykule o możliwościach plików.

    Wartość logiczna możliwości canStartApproval to false, 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=writer do pliku.
  2. 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

Cykl życia zatwierdzenia.
Rysunek 1. Cykl życia zatwierdzenia.

Podczas swojego cyklu życia zatwierdzenie przechodzi przez kilka stanów. Rysunek 1 przedstawia ogólne etapy cyklu życia zatwierdzenia:

  1. Rozpocznij zatwierdzanie. Aby rozpocząć prośbę o zatwierdzenie, wywołaj metodę start. Wtedy status zostanie ustawiony na IN_PROGRESS.

  2. Zatwierdzenie oczekuje. Gdy zatwierdzenie oczekuje (status jest ustawiony na IN_PROGRESS), zarówno inicjator, jak i recenzenci mogą z nim wchodzić w interakcje. Mogą dodać comment, inicjator może reassign recenzentów, a co najmniej 1 recenzent może approve prośbę.

  3. Zatwierdzenie jest w stanie ukończonym. Zatwierdzenie przechodzi w stan ukończony (status jest ustawiony na APPROVED, CANCELLED lub DECLINED), gdy wszyscy recenzenci zatwierdzą prośbę, inicjator zdecyduje się cancel prośbę lub gdy któryś z recenzentów zdecyduje się decline proś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 uprawnieniem role=writer moż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 ustawisz pageSize, 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ść nextPageToken z 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.