Etkinlik Nesneleri

Basit tetikleyiciler ve yüklenebilir tetikleyiciler, belirli bir etkinlik gerçekleştiğinde Google Apps Komut Dosyası'nın bir işlevi otomatik olarak çalıştırmasına olanak tanır. Bir tetikleyici etkinleştiğinde Apps Komut Dosyası, işleve bağımsız değişken olarak bir etkinlik nesnesi iletir (genellikle e). Etkinlik nesnesi, tetikleyicinin etkinleştirilmesine neden olan bağlamla ilgili bilgileri 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) tetikleyici 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 nesnesindeki alanlar açıklanmaktadır.

Yüklenebilir tetikleyiciler tarafından oluşturulan etkinlikler, etkinliği oluşturan tetikleyiciyi tanımlayan bir triggerUid içerir. Bu, birden fazla yüklenebilir tetikleyiciye sahip komut dosyalarına yardımcı olur.

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 vermesini sağlar.

(basit ve yüklenebilir)
authMode

ScriptApp.AuthMode enum'ından bir değer.

LIMITED
source

Komut dosyasının bağlı olduğu 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

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

amin@example.com

Değiştir

(yüklenebilir)
authMode

ScriptApp.AuthMode enum'ından 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 E-Tablolar dosyasını temsil eden bir Spreadsheet nesnesi.

Spreadsheet
triggerUid

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

4034124084959907503
user

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

amin@example.com

Düzenle

(basit ve yüklenebilir)
authMode

ScriptApp.AuthMode enum'ından 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ücrede daha önce içerik yoksa tanımsızdır.

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 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

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

amin@example.com
value

Düzenlemeden sonraki 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'ından 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ğerler 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 Dokümanlar'ın yanıt vermesini sağlar.

(basit ve yüklenebilir)
authMode

ScriptApp.AuthMode enum'ından bir değer.

LIMITED
source

Komut dosyasının bağlı olduğu 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

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

amin@example.com

Google Slaytlar etkinlikleri

Tetikleyiciler, kullanıcı bir sunuyu açtığında Slaytlar'ın yanıt vermesini sağlar.

(basit)
authMode

ScriptApp.AuthMode enum'ından bir değer.

LIMITED
source

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

Presentation
user

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

amin@example.com

Google Formlar etkinlikleri

Forma özel tetikleyiciler, kullanıcı bir formu düzenlediğinde veya yanıt gönderdiğinde komut dosyalarının yanıt vermesini sağlar.

* (basit ve yüklenebilir)
authMode

ScriptApp.AuthMode enum'ından bir değer.

LIMITED
source

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

Form
triggerUid

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

4034124084959907503
user

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

amin@example.com

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

Form gönderme

(yüklenebilir)
authMode

ScriptApp.AuthMode enum'ından 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 Formlar dosyasını temsil eden bir Form nesnesi.

Form
triggerUid

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

4034124084959907503

Google Takvim etkinlikleri

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

Bu tetikleyiciler, hangi etkinliğin değiştiğini veya nasıl değiştiğini göstermez. Bunun yerine, takvimde yapılan son değişiklikleri almak için kodunuzun artımlı bir senkronizasyon işlemi yapması gerektiğini belirtirler. Bu prosedürün tam açıklaması için Calendar API'nin Kaynakları senkronize etme kılavuzu'na bakın.

Apps Komut Dosyası'nda 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ğil.
  2. Hangi takvimlerin senkronize edileceğini belirleyin. Her takvim için Takvim gelişmiş hizmetinin Events.list() yöntemini kullanarak ilk senkronizasyon işlemini gerçekleştirin.
  3. İlk senkronizasyon, söz konusu takvim için nextSyncToken döndürür. Bu jetonu daha sonra kullanmak üzere saklayın.
  4. Apps Komut Dosyası EventUpdated tetikleyicisi, takvim etkinliğinde değişiklik olduğunu belirten bir tetikleyiciyi etkinleştirdiğinde, depolanan nextSyncToken kullanılarak etkilenen takvim için artımlı senkronizasyon gerçekleştirin. Bu, aslında başka bir Events.list() isteğidir ancak nextSyncToken parametresinin sağlanması, yanıtı yalnızca son senkronizasyondan bu yana değişen etkinliklerle sınırlar.
  5. Hangi etkinliklerin güncellendiğini öğrenmek için senkronizasyon yanıtını inceleyin ve kodunuzun uygun şekilde yanıt vermesini sağlayın. Ö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. Bu takvim için depolanan nextSyncToken değerini, artımlı senkronizasyon isteği tarafından döndürülen değerle güncelleyin. Bu işlem, bir sonraki senkronizasyon işleminin yalnızca en güncel değişiklikleri döndürmesini zorlar.

Bazen senkronizasyon jetonları sunucu tarafından geçersiz kılınır ve bu da 410 hatasına neden olur. Bu durumda kodunuz tam senkronizasyon yapmalı ve söz konusu takvim için depolanan tüm senkronize edilmiş verileri ve jetonları değiştirmelidir.

EventUpdated

(yüklenebilir)
authMode

ScriptApp.AuthMode enum'ından 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 eklenti etkinlikleri

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

Yükle

(basit)
authMode

ScriptApp.AuthMode enum'ından 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'ından bir değer.

FULL
day-of-month

1 ile 31 arasında.

Bu özellik 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 özellik 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 özellik adı kısa çizgi içerdiğinden nokta gösterimi yerine e['week-of-year'] ile erişilmelidir.

52
year

Yıl.

2015