Na tej stronie opisujemy zdarzenia na Dysku Google, które aplikacja może subskrybować za pomocą interfejsu Google Workspace Events API. Po określeniu, jakich typów zdarzeń potrzebujesz, utwórz subskrypcję, aby zacząć otrzymywać zdarzenia z Dysku.
Więcej informacji o tworzeniu aplikacji na Dysku znajdziesz w artykule Omówienie interfejsu Google Drive API.
Obsługiwane zdarzenia na Dysku
Abonamenty Google Workspace umożliwiają otrzymywanie zdarzeń dotyczących tych typów zmian na Dysku:
- Plik to:
- dodano do folderu lub dysku współdzielonego;
- przeniesiony do folderu lub na dysk współdzielony;
- Edytowana lub nowa wersja została przesłana.
- przeniesione do kosza lub usunięte z kosza.
- W przypadku pliku zostanie utworzona lub rozpatrzona prośba o dostęp.
Zasoby, które możesz monitorować pod kątem zdarzeń
Aby odbierać zdarzenia, musisz określić zasób na Dysku, który ma być monitorowany. Jest on nazywany zasobem docelowym subskrypcji.
Interfejs Google Workspace Events API obsługuje te zasoby docelowe w przypadku Dysku:
Zasób docelowy | Format | Ograniczenia (w odpowiednich przypadkach) |
---|---|---|
Plik | //googleapis.com/drive/v3/files/FILE
gdzie FILE to identyfikator w
nazwie zasobu zasobu |
Użytkownik, który autoryzuje subskrypcję, musi mieć uprawnienia do pliku w subskrypcji w odniesieniu do zdarzenia subskrypcji. |
Dysk współdzielony | //googleapis.com/drive/v3/drives/DRIVE
gdzie DRIVE to identyfikator w
nazwie zasobu zasobu |
Subskrypcja otrzymuje tylko zdarzenia dotyczące elementów na dysku współdzielonym, na którym użytkownik jest członkiem za pomocą konta Google Workspace lub konta Google. |
Typy zdarzeń do tworzenia subskrypcji
Podczas tworzenia subskrypcji zasobu Dysku używasz pola
eventTypes[]
do określania typów zdarzeń, które chcesz otrzymywać. Typy zdarzeń są sformatowane zgodnie ze specyfikacją CloudEvents, np. google.workspace.APPLICATION.RESOURCE.VERSION.ACTION
.
Aby na przykład otrzymywać zdarzenia dotyczące utworzenia pliku w folderze lub na dysku współdzielonym, jako zasób docelowy wskaż plik, a jako typ zdarzenia – google.workspace.drive.file.v3.created
. Aby otrzymywać zdarzenia dotyczące tworzenia propozycji dostępu do pliku, określ propozycję dostępu jako zasób docelowy, a typ zdarzenia jako google.workspace.drive.accessproposal.v3.created
. Więcej informacji o tym, jak działają zdarzenia, znajdziesz w artykule Struktura zdarzeń Google Workspace.
W tabeli poniżej znajdziesz listę typów zdarzeń obsługiwanych w przypadku subskrypcji zasobów na Dysku:
Typ zdarzenia | Format | Dane o zasobach | ||
---|---|---|---|---|
Subskrypcje plików | ||||
Plik zostanie dodany do folderu lub dysku współdzielonego. |
|
|
||
Plik zostanie przeniesiony do folderu lub na dysk współdzielony. |
|
|
||
Plik jest edytowany lub przesyłana jest nowa wersja. |
|
|
||
Plik zostanie usunięty. |
|
|
||
Plik został przeniesiony do kosza. |
|
|
||
Plik zostanie usunięty z kosza. |
|
|
||
W pliku tworzona jest propozycja dostępu. |
|
|
||
Propozycja dostępu do pliku została rozpatrzona. |
|
|
||
Subskrypcje dysków współdzielonych | ||||
Plik zostanie dodany do folderu lub dysku współdzielonego. |
|
|
||
Plik zostanie przeniesiony do folderu lub na dysk współdzielony. |
|
|
||
Plik jest edytowany lub przesyłana jest nowa wersja. |
|
|
||
Plik zostanie usunięty. |
|
|
||
Plik został przeniesiony do kosza. |
|
|
||
Plik zostanie usunięty z kosza. |
|
|
||
W pliku tworzona jest propozycja dostępu. |
|
|
||
Propozycja dostępu do pliku została rozpatrzona. |
|
|
Dane zdarzenia
W tej sekcji opisujemy dane zdarzeń i przykładowe ładunki zdarzeń w Drive.
Gdy subskrypcja Google Workspace otrzyma zdarzenie z Dysku, pole data
będzie zawierać ładunek zdarzenia. Ten ładunek zawiera informacje o zmienionym zasobie Google Workspace. Jeśli na przykład subskrybujesz zdarzenia dotyczące plików, ładunek tych zdarzeń zawiera informacje o zasobie file
, który uległ zmianie.
Dane zasobu w ładunku zdarzenia
Podczas tworzenia subskrypcji możesz określić, czy chcesz, aby ładunek zawierał szczegóły zasobu, czy tylko jego nazwę. Jeśli na przykład chcesz otrzymywać zdarzenia dotyczące plików na Dysku, możesz określić, które pola zasobu files
chcesz otrzymywać w ładunku zdarzenia.
W tabeli poniżej znajdziesz przykłady ładunków JSON w przypadku subskrypcji zasobu Drive. Identyfikator pliku zawiera litery, cyfry i niektóre znaki specjalne w formacie files/^[01][0-9a-zA-Z_-]+$/
. Na przykład:files/1aaabbbAAABBB111222-_
. W przypadku każdego zdarzenia, które otrzymuje subskrypcja, ładunek pojawia się w polu data
zdarzenia:
Przykład | Typ zdarzenia | Ładunek JSON |
---|---|---|
Użytkownik dodaje plik do folderu lub dysku współdzielonego. |
|
Zawiera dane o zasobach
{ "fileCreatedEvent": { "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } } Wyklucza dane zasobów
{ "fileCreatedEvent": { "file": { "id": "FILE_ID" } } } |
Użytkownik przenosi plik do folderu lub na dysk współdzielony. |
|
Zawiera dane o zasobach
{ "fileMovedEvent": { "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } } Wyklucza dane zasobów
{ "fileMovedEvent": { "file": { "id": "FILE_ID" } } } |
Użytkownik edytuje plik lub przesyła nową wersję. |
|
Zawiera dane o zasobach
{ "fileContentChangedEvent": { "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } } Wyklucza dane zasobów
{ "fileContentChangedEvent": { "file": { "id": "FILE_ID" } } } |
Użytkownik usuwa plik. |
|
Zawiera dane o zasobach
{ "fileDeletedEvent": { "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } } Wyklucza dane zasobów
{ "fileDeletedEvent": { "file": { "id": "FILE_ID" } } } |
Użytkownik przenosi plik do kosza. |
|
Zawiera dane o zasobach
{ "fileTrashedEvent": { "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } } Wyklucza dane zasobów
{ "fileTrashedEvent": { "file": { "id": "FILE_ID" } } } |
Użytkownik przywraca plik z kosza. |
|
Zawiera dane o zasobach
{ "fileUntrashedEvent": { "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } } Wyklucza dane zasobów
{ "fileUntrashedEvent": { "file": { "id": "FILE_ID" } } } |
Użytkownik tworzy propozycję dostępu do pliku. |
|
Zawiera dane o zasobach
{ "accessProposalCreatedEvent": { "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" } ] } ] } } Wyklucza dane zasobów
{ "accessProposalCreatedEvent": { "accessProposal": [ { "proposalId": "PROPOSAL_ID" } ] } } |
Użytkownik rozpatruje propozycję dostępu do pliku. |
|
Zawiera dane o zasobach
{ "accessProposalResolvedEvent": { "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" } ] } ] } } Wyklucza dane zasobów
{ "accessProposalResolvedEvent": { "accessProposal": [ { "proposalId": "PROPOSAL_ID" } ] } } |
Ograniczenia
- Gdy pole logiczne
includeDescendants
wDriveOptions
ma wartośćtrue
, subskrypcje Dysku na dyskach i folderach współdzielonych zawsze wysyłają zdarzenie, nawet jeśli plik, który je wywołał, jest zagnieżdżony wiele poziomów poniżej folderu użytego do subskrypcji Dysku. - Nawet jeśli utworzysz subskrypcję folderu, możesz nie otrzymywać wszystkich zdarzeń w hierarchii plików, ponieważ użytkownik lub aplikacja mogą nie mieć do nich dostępu. W takim przypadku subskrypcja pozostanie aktywna, ale nie będziesz otrzymywać żadnych zdarzeń dotyczących zasobów, do których nie masz dostępu.
- Subskrypcje są obsługiwane w przypadku zdarzeń dotyczących wszystkich plików i folderów, ale nie folderu głównego dysków współdzielonych. Subskrypcje są obsługiwane tylko w przypadku plików i folderów na dyskach współdzielonych. Zmiany wprowadzone bezpośrednio w folderze głównym dysku współdzielonego nie spowodują wywołania zdarzeń.
- Użytkownik, który autoryzuje subskrypcję, musi mieć uprawnienia do pliku odpowiadającego zdarzeniom, które subskrybuje.
- Subskrypcja otrzymuje tylko zdarzenia dotyczące zasobów, do których użytkownik ma dostęp za pomocą konta Google Workspace lub konta Google.