Etkinlik Nesneleri

Basit tetikleyiciler ve yüklenebilir tetikleyiciler, belirli bir etkinlik gerçekleştiğinde Apps Script'in bir işlevi otomatik olarak çalıştırmasına olanak tanır. Bir tetikleyici etkinleştirildiğinde Apps Script, işleve genellikle e olarak adlandırılan bir etkinlik nesnesi bağımsız değişkeni aktarır. event nesnesi, tetikleyicinin etkinleştirilmesine neden olan bağlam hakkında bilgi içerir. Örneğin, aşağıdaki örnek kodda, hangi hücrenin düzenlendiğini belirlemek için etkinlik nesnesini kullanan bir Google E-Tablolar komut dosyası için basit bir onEdit(e)tetikçi gösterilmektedir.

function onEdit(e){
  // Set a comment on the edited cell to indicate when it was changed.
  var range = e.range;
  range.setNote('Last modified: ' + new Date());
}

Bu sayfada, farklı tetikleyici türleri için etkinlik nesnesinde bulunan alanlar ayrıntılı olarak açıklanmıştır.

Google E-Tablolar etkinlikleri

Google E-Tablolar'a özgü çeşitli tetikleyiciler, komut dosyalarının bir kullanıcının e-tablodaki işlemlerine yanıt vermesine olanak tanır.

(basit ve yüklenebilir)
authMode

ScriptApp.AuthMode enum'undan bir değer.

LIMITED
source

Komut dosyasının bağlı olduğu Google E-Tablolar dosyasını temsil eden bir Spreadsheet nesnesi.

Spreadsheet
triggerUid

Bu etkinliği oluşturan tetikleyicinin kimliği (yalnızca yüklenebilir tetikleyiciler).

4034124084959907503
user

Mevcutsa etkin kullanıcıyı temsil eden bir User nesnesi (karmaşık bir güvenlik kısıtlamaları grubuna bağlıdır).

amin@example.com

Değiştir

(yüklenebilir)
authMode

ScriptApp.AuthMode enum'undan bir değer.

FULL
changeType

Değişiklik türü (EDIT, INSERT_ROW, INSERT_COLUMN, REMOVE_ROW, REMOVE_COLUMN, INSERT_GRID, REMOVE_GRID, FORMAT veya OTHER).

INSERT_ROW
source

Komut dosyasının bağlı olduğu Google E-Tablolar dosyasını temsil eden bir Spreadsheet nesnesi.

Spreadsheet
triggerUid

Bu etkinliği oluşturan tetikleyicinin kimliği.

4034124084959907503
user

Mevcutsa etkin kullanıcıyı temsil eden bir User nesnesi (karmaşık bir güvenlik kısıtlamaları grubuna bağlıdır).

amin@example.com

Düzenle

(basit ve yüklenebilir)
authMode

ScriptApp.AuthMode enum'undan bir değer.

LIMITED
oldValue

Düzenlemeden önceki hücre değeri (varsa). Yalnızca düzenlenen aralık tek bir hücreyse kullanılabilir. Hücrenin önceki içeriği yoksa tanımlanmaz.

1234
range

Düzenlenen hücreyi veya hücre aralığını temsil eden bir Range nesnesi.

Range
source

Komut dosyasının bağlı olduğu Google E-Tablolar dosyasını temsil eden bir Spreadsheet nesnesi.

Spreadsheet
triggerUid

Bu etkinliği oluşturan tetikleyicinin kimliği (yalnızca yüklenebilir tetikleyiciler).

4034124084959907503
user

Mevcutsa etkin kullanıcıyı temsil eden bir User nesnesi (karmaşık bir güvenlik kısıtlamaları grubuna bağlıdır).

amin@example.com
value

Düzenleme sonrasındaki yeni hücre değeri. Yalnızca düzenlenen aralık tek bir hücreyse kullanılabilir.

10

Form gönderme

(yüklenebilir)
authMode

ScriptApp.AuthMode enum'undan bir değer.

FULL
namedValues

Form gönderimindeki soru adlarını ve değerlerini içeren bir nesne.

{
  'First Name': ['Jane'],
  'Timestamp': ['6/7/2015 20:54:13'],
  'Last Name': ['Doe']
}
range

Düzenlenen hücreyi veya hücre aralığını temsil eden bir Range nesnesi.

Range
triggerUid

Bu etkinliği oluşturan tetikleyicinin kimliği.

4034124084959907503
values

E-tabloda göründükleri sırayla değerleri içeren dizi.

['2015/05/04 15:00', 'amin@example.com', 'Bob', '27', 'Bill',
'28', 'Susan', '25']

Google Dokümanlar etkinlikleri

Tetikleyiciler, kullanıcı bir dokümanı açtığında Google Dokümanlar'ın yanıt vermesine olanak tanır.

(basit ve yüklenebilir)
authMode

ScriptApp.AuthMode enum'undan bir değer.

LIMITED
source

Komut dosyasının bağlı olduğu Google Dokümanlar dosyasını temsil eden bir Document nesnesi.

Document
triggerUid

Bu etkinliği oluşturan tetikleyicinin kimliği (yalnızca yüklenebilir tetikleyiciler).

4034124084959907503
user

Mevcutsa etkin kullanıcıyı temsil eden bir User nesnesi (karmaşık bir güvenlik kısıtlamaları grubuna bağlıdır).

amin@example.com

Google Slaytlar etkinlikleri

Tetikleyiciler, kullanıcı bir sunuyu açtığında Google Slaytlar'ın yanıt vermesine olanak tanır.

(basit)
authMode

ScriptApp.AuthMode enum'undan bir değer.

LIMITED
source

Komut dosyasının bağlı olduğu Google Slaytlar dosyasını temsil eden bir Presentation nesnesi.

Presentation
user

Mevcutsa etkin kullanıcıyı temsil eden bir User nesnesi (karmaşık bir güvenlik kısıtlamaları grubuna bağlıdır).

amin@example.com

Google Formlar etkinlikleri

Google Formlar'a özgü tetikleyiciler, kullanıcı bir formu düzenlediğinde veya yanıt gönderdiğinde komut dosyalarının yanıt vermesine olanak tanır.

* (basit ve yüklenebilir)
authMode

ScriptApp.AuthMode enum'undan bir değer.

LIMITED
source

Komut dosyasının bağlı olduğu Google Forms dosyasını temsil eden bir Form nesnesi.

Form
triggerUid

Bu etkinliği oluşturan tetikleyicinin kimliği (yalnızca yüklenebilir tetikleyiciler).

4034124084959907503
user

Mevcutsa etkin kullanıcıyı temsil eden bir User nesnesi (karmaşık bir güvenlik kısıtlamaları grubuna bağlıdır).

amin@example.com

* Bu etkinlik, kullanıcı bir forma yanıt vermek için formu açtığında değil, düzenleyen bir kullanıcı formu değiştirmek için açtığında gerçekleşir.

Form gönderme

(yüklenebilir)
authMode

ScriptApp.AuthMode enum'undan bir değer.

FULL
response

Kullanıcının forma verdiği yanıtı bir bütün olarak temsil eden bir FormResponse nesnesi.

FormResponse
source

Komut dosyasının bağlı olduğu Google Forms dosyasını temsil eden bir Form nesnesi.

Form
triggerUid

Bu etkinliği oluşturan tetikleyicinin kimliği.

4034124084959907503

Google Takvim etkinlikleri

Takvim, bir kullanıcının takvim etkinlikleri güncellendiğinde (oluşturulduğunda, düzenlendiğinde veya silindiğinde) tetiklenir.

Bu tetikleyiciler, hangi etkinliğin değiştiğini veya nasıl değiştiğini size söylemez. Bunun yerine, takvimdeki son değişiklikleri almak için kodunuzun artımlı senkronizasyon işlemi yapması gerektiğini gösterirler. Bu işlemin tam açıklaması için Calendar API'nin Kaynakları senkronize etme kılavuzuna bakın.

Apps Script'te Takvim ile senkronize etmek için aşağıdaki adımları uygulayın:

  1. Komut dosyası projesi için Takvim gelişmiş hizmetini etkinleştirin. Yerleşik Takvim hizmeti bu iş akışı için yeterli değildir.
  2. Hangi takvimlerin senkronize edileceğini belirleyin. Bu tür her takvim için Takvim gelişmiş hizmetinin Events.list() yöntemini kullanarak bir ilk senkronizasyon işlemi gerçekleştirin.
  3. İlk senkronizasyonun sonucu, ilgili takvim için bir nextSyncToken döndürür. Bu jetonu daha sonra kullanmak üzere saklayın.
  4. Apps Script EventUpdated tetikleyicisi, takvim etkinliğinde değişiklik olduğunu belirten bir tetikleme gönderdiğinde, depolanan nextSyncToken değerini kullanarak etkilenen takvim için artımlı senkronizasyon gerçekleştirin. Bu temelde başka bir Events.list() isteğidir ancak nextSyncToken sağlandığında yanıt yalnızca son senkronizasyondan bu yana değişen etkinliklerle sınırlandırılır.
  5. Hangi etkinliklerin güncellendiğini öğrenmek ve kodunuzun uygun şekilde yanıt vermesini sağlamak için senkronizasyonun yanıtını inceleyin. Örneğin, değişikliği günlüğe kaydedebilir, e-tabloyu güncelleyebilir, e-posta bildirimleri gönderebilir veya başka işlemler yapabilirsiniz.
  6. Söz konusu takvim için depoladığınız nextSyncToken değerini, artımlı senkronizasyon isteği tarafından döndürülen değerle güncelleyin. Bu, sonraki senkronizasyon işleminin yalnızca en güncel değişiklikleri döndürmesini sağlar.

EventUpdated

(yüklenebilir)
authMode

ScriptApp.AuthMode enum'deki bir değer.

FULL
calendarId

Etkinlik güncellemesinin gerçekleştiği takvimin dize kimliği.

susan@example.com
triggerUid

Bu etkinliği oluşturan tetikleyicinin kimliği.

4034124084959907503

Google Workspace eklentisi etkinlikleri

onInstall() tetikleyicisi, kullanıcı bir eklenti yüklediğinde otomatik olarak çalışır.

Yükle

(basit)
authMode

ScriptApp.AuthMode enum'undan bir değer.

FULL

Google Chat uygulaması etkinlikleri

Google Chat'teki etkinlik nesneleri hakkında bilgi edinmek için Google Chat uygulamanızla etkileşimleri alma ve yanıtlama başlıklı makaleyi inceleyin.

Zamana dayalı etkinlikler

Zamana dayalı tetikleyiciler (saat tetikleyicileri olarak da bilinir), komut dosyalarının belirli bir zamanda veya yinelenen bir aralıkta yürütülmesine olanak tanır.

Zamana dayalı (yüklenebilir)
authMode

ScriptApp.AuthMode enum'undan bir değer.

FULL
day-of-month

1 ile 31 arasında.

Bu mülk adı kısa çizgi içerdiğinden nokta gösterimi yerine e['day-of-month'] ile erişilmelidir.

31
day-of-week

1 (Pazartesi) ile 7 (Pazar) arasında.

Bu mülk adı kısa çizgi içerdiğinden nokta gösterimi yerine e['day-of-week'] ile erişilmelidir.

7
hour

0 ile 23 arasında.

23
minute

0 ile 59 arasında.

59
month

1 ile 12 arasında.

12
second

0 ile 59 arasında.

59
timezone

Saat dilimi.

UTC
triggerUid

Bu etkinliği oluşturan tetikleyicinin kimliği.

4034124084959907503
week-of-year

1 ile 52 arasında.

Bu mülk adı kısa çizgi içerdiğinden nokta gösterimi yerine e['week-of-year'] ile erişilmelidir.

52
year

Yıl.

2015