Bu sayfada, Google Workspace Events API'yi kullanarak uygulamanızın abone olabileceği Google Drive etkinlikleri açıklanmaktadır. Hangi etkinlik türlerine ihtiyacınız olduğuna karar verdikten sonra Drive'dan etkinlik almaya başlamak için abonelik oluşturun.
Drive için uygulama geliştirme hakkında daha fazla bilgi edinmek istiyorsanız Google Drive API'ye genel bakış başlıklı makaleyi inceleyin.
Desteklenen Drive etkinlikleri
Google Workspace abonelikleri, Drive'daki aşağıdaki değişiklik türleriyle ilgili etkinlikler almanıza olanak tanır:
- Dosya:
- Klasöre veya ortak Drive'a eklenmişse
- Bir klasöre veya ortak Drive'a taşınmışsa
- Düzenlenmiş veya yeni bir düzeltme yüklendiğinde
- Çöp kutusuna taşınmış veya çöp kutusundan kaldırılmışsa
- Bir dosyada erişim teklifi oluşturulur veya çözümlenir.
Etkinlikler için izleyebileceğiniz kaynaklar
Etkinlikleri almak için izlenecek bir Drive kaynağı belirtirsiniz. Bu kaynak, aboneliğin hedef kaynağı olarak adlandırılır.
Google Workspace Events API, Drive için aşağıdaki hedef kaynakları destekler:
Hedef kaynak | Biçim | Sınırlamalar (varsa) |
---|---|---|
Dosya |
//drive.googleapis.com/files/FILE
Burada FILE, Drive API |
Aboneliği yetkilendiren kullanıcının, etkinliğe abone olma işlemiyle ilgili olarak abonelikteki dosya üzerinde izni olmalıdır. |
Ortak Drive |
//drive.googleapis.com/drives/DRIVE
Burada DRIVE, Drive API |
Abonelik yalnızca kullanıcının Google Workspace hesabı veya Google Hesabı aracılığıyla üye olduğu ortak drive'daki öğelerle ilgili etkinlikleri alır. |
Abonelik oluşturmak için kullanılan etkinlik türleri
Bir Drive kaynağına abonelik oluşturduğunuzda, hangi etkinlik türlerini almak istediğinizi belirtmek için eventTypes[]
alanını kullanırsınız. Etkinlik türleri, CloudEvents spesifikasyonuna göre biçimlendirilir. Örneğin:
google.workspace.APPLICATION.RESOURCE.VERSION.ACTION
.
Örneğin, bir klasörde veya ortak Drive'da oluşturulan dosyayla ilgili etkinlikleri almak için dosyayı hedef kaynak, etkinlik türünü ise google.workspace.drive.file.v3.created
olarak belirtirsiniz. Bir dosyada erişim teklifi oluşturulmasıyla ilgili etkinlikleri almak için hedef kaynak olarak erişim teklifini, etkinlik türü olarak da google.workspace.drive.accessproposal.v3.created
değerini belirtirsiniz. Etkinliklerin işleyiş şekli hakkında daha fazla bilgi edinmek için Google Workspace etkinliklerinin yapısı başlıklı makaleyi inceleyin.
Aşağıdaki tabloda, Drive kaynaklarına abonelikler için hangi etkinlik türlerinin desteklendiği gösterilmektedir:
Etkinlik türü | Biçim | Kaynak verileri | ||
---|---|---|---|---|
Dosya abonelikleri | ||||
Bir klasöre veya ortak Drive'a dosya eklendiğinde |
|
|
||
Bir dosya, klasöre veya ortak Drive'a taşındığında |
|
|
||
Bir dosya düzenlendiğinde veya yeni bir düzeltme yüklendiğinde |
|
|
||
Bir dosya silindiğinde |
|
|
||
Bir dosya çöp kutusuna taşındığında |
|
|
||
Bir dosya çöp kutusundan kaldırıldığında |
|
|
||
Bir dosyada erişim önerisi oluşturulduğunda |
|
|
||
Bir dosyada erişim önerisi çözümlendiğinde |
|
|
||
Ortak Drive'lara abonelikler | ||||
Bir klasöre veya ortak Drive'a dosya eklendiğinde |
|
|
||
Bir dosya, klasöre veya ortak Drive'a taşındığında |
|
|
||
Bir dosya düzenlendiğinde veya yeni bir düzeltme yüklendiğinde |
|
|
||
Bir dosya silindiğinde |
|
|
||
Bir dosya çöp kutusuna taşındığında |
|
|
||
Bir dosya çöp kutusundan kaldırıldığında |
|
|
||
Bir dosyada erişim önerisi oluşturulduğunda |
|
|
||
Bir dosyada erişim önerisi çözümlendiğinde |
|
|
Etkinlik verileri
Bu bölümde, Drive'daki etkinliklerle ilgili etkinlik verileri ve örnek yükler açıklanmaktadır.
Google Workspace aboneliğiniz Drive'dan bir etkinlik aldığında data
alanı, etkinliğin yükünü içerir. Bu yük, değiştirilen Google Workspace kaynağı hakkında bilgi içerir. Örneğin, dosya etkinliklerine abone olduysanız bu etkinliklerin yükü, değişen file
kaynağıyla ilgili bilgileri içerir.
Etkinlik yükündeki kaynak verileri
Abonelik oluştururken yükün kaynakla ilgili ayrıntıları mı yoksa yalnızca kaynağın adını mı içermesini istediğinizi belirtebilirsiniz. Örneğin, Drive'daki dosyalarla ilgili etkinlikler almak istiyorsanız etkinlik yükünde hangi files
kaynağı alanlarını almak istediğinizi belirtebilirsiniz.
Aşağıdaki tabloda, Drive kaynağına abonelik için JSON yüklerine ilişkin örnekler verilmiştir. Dosya kimliği, files/^[01][0-9a-zA-Z_-]+$/
şeklinde yapılandırılmış harfler, sayılar ve bazı özel karakterler içeriyor. Örneğin,
files/1aaabbbAAABBB111222-_
. Aboneliğin aldığı her etkinlik için yük, etkinliğin data
alanında görünür:
Örnek | Etkinlik türü | JSON yükü |
---|---|---|
Kullanıcı, bir klasöre veya ortak Drive'a dosya eklediğinde |
|
Kaynak verilerini içerir
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } Kaynak verileri hariç tutulur.
{ "file": { "id": "FILE_ID" } } |
Bir kullanıcı, bir dosyayı klasöre veya ortak Drive'a taşıdığında |
|
Kaynak verilerini içerir
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } Kaynak verileri hariç tutulur.
{ "file": { "id": "FILE_ID" } } |
Bir kullanıcı dosyayı düzenlediğinde veya yeni bir düzeltme yüklendiğinde |
|
Kaynak verilerini içerir
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } Kaynak verileri hariç tutulur.
{ "file": { "id": "FILE_ID" } } |
Bir kullanıcı bir dosyayı sildiğinde |
|
Kaynak verilerini içerir
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } Kaynak verileri hariç tutulur.
{ "file": { "id": "FILE_ID" } } |
Kullanıcı bir dosyayı çöp kutusuna gönderdiğinde |
|
Kaynak verilerini içerir
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } Kaynak verileri hariç tutulur.
{ "file": { "id": "FILE_ID" } } |
Kullanıcı, çöp kutusundan bir dosyayı geri yükler. |
|
Kaynak verilerini içerir
{ "file": { "id": "FILE_ID", "parent": "PARENT_ID", "version": "63", "mimeType": "application/vnd.google-apps.document" } } Kaynak verileri hariç tutulur.
{ "file": { "id": "FILE_ID" } } |
Kullanıcı, bir dosyada erişim önerisi oluşturur. |
|
Kaynak verilerini içerir
{ "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" } ] } ] } Kaynak verileri hariç tutulur.
{ "accessProposal": [ { "proposalId": "PROPOSAL_ID" } ] } |
Bir kullanıcı, bir dosyadaki erişim önerisini çözümler. |
|
Kaynak verilerini içerir
{ "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" } ] } ] } Kaynak verileri hariç tutulur.
{ "accessProposal": [ { "proposalId": "PROPOSAL_ID" } ] } |
Sınırlamalar
includeDescendants
boolean alanıDriveOptions
true
olduğunda, ortak Drive'lardaki ve klasörlerdeki Drive abonelikleri, etkinliği tetikleyen dosya Drive aboneliği için kullanılan klasörün çok altında iç içe yerleştirilmiş olsa bile her zaman bir etkinlik gönderir.- Bir klasörde abonelik oluşturmuş olsanız bile, kullanıcıya veya uygulamaya erişim izni verilmemiş olabileceği için dosya hiyerarşisindeki tüm etkinlikleri almayabilirsiniz. Bu durumda abonelik etkin kalmaya devam eder ancak erişiminiz olmayan kaynaklarla ilgili etkinlik almazsınız.
- Abonelikler, tüm dosya ve klasörlerdeki etkinlikler için desteklenir ancak ortak Drive'ların kök klasöründe desteklenmez. Abonelikler yalnızca ortak drive'lar içindeki dosya ve klasörlerde desteklenir. Ortak Drive'ların kök klasöründe doğrudan yapılan değişiklikler etkinlikleri tetiklemez.
- Aboneliği yetkilendiren kullanıcının, abone olduğu etkinliklere karşılık gelen dosya üzerinde izni olmalıdır.
- Abonelik yalnızca kullanıcının Google Workspace hesabı veya Google Hesabı üzerinden erişebildiği kaynakların etkinliklerini alır.