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.
Aç(basit ve yüklenebilir) |
|
---|---|
authMode |
LIMITED |
source |
Komut dosyasının bağlı olduğu Google E-Tablolar dosyasını temsil eden bir 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 amin@example.com |
Değiştir(yüklenebilir) |
|
---|---|
authMode |
FULL |
changeType |
Değişiklik türü ( INSERT_ROW |
source |
Komut dosyasının bağlı olduğu Google E-Tablolar dosyasını temsil eden bir
Spreadsheet |
triggerUid |
Bu etkinliği oluşturan tetikleyicinin kimliği. 4034124084959907503 |
user |
Mevcutsa etkin kullanıcıyı temsil eden bir amin@example.com |
Düzenle(basit ve yüklenebilir) |
|
---|---|
authMode |
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 bir içeriği yoksa tanımlanmaz. 1234 |
range |
Düzenlenen hücreyi veya hücre aralığını temsil eden bir Range |
source |
Komut dosyasının bağlı olduğu Google E-Tablolar dosyasını temsil eden bir 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 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 |
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 |
triggerUid |
Bu etkinliği oluşturan tetikleyicinin kimliği. 4034124084959907503 |
values |
Değerlerin e-tabloda göründüğü aynı sırayla yer aldığı 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.
Aç(basit ve yüklenebilir) |
|
---|---|
authMode |
LIMITED |
source |
Komut dosyasının bağlı olduğu Google Dokümanlar dosyasını temsil eden bir 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 amin@example.com |
Google Slaytlar etkinlikleri
Tetikleyiciler, kullanıcı bir sunuyu açtığında Google Slaytlar'ın yanıt vermesine olanak tanır.
Aç(basit) |
|
---|---|
authMode |
LIMITED |
source |
Komut dosyasının bağlı olduğu Google Slaytlar dosyasını temsil eden bir Presentation |
user |
Mevcutsa etkin kullanıcıyı temsil eden bir amin@example.com |
Google Formlar etkinlikleri
Google Formlar'a özel tetikleyiciler, kullanıcı bir formu düzenlediğinde veya yanıt gönderdiğinde komut dosyalarının yanıt vermesini sağlar.
Aç* (basit ve yüklenebilir) |
|
---|---|
authMode |
LIMITED |
source |
Komut dosyasının bağlı olduğu Google Forms dosyasını temsil eden bir Form |
triggerUid |
Bu etkinliği oluşturan tetikleyicinin kimliği (yalnızca yüklenebilir tetikleyiciler). 4034124084959907503 |
user |
Varsa (karmaşık güvenlik kısıtlamaları grubuna bağlı olarak) etkin kullanıcıyı temsil eden bir amin@example.com |
* Bu etkinlik, kullanıcı bir forma yanıt vermek için formu açtığında değil, bir düzenleyici formu değiştirmek için açtığında gerçekleşir.
Form gönderme(yüklenebilir) |
|
---|---|
authMode |
FULL |
response |
Kullanıcının forma verdiği yanıtı bir bütün olarak temsil eden bir FormResponse |
source |
Komut dosyasının bağlı olduğu Google Forms dosyasını temsil eden bir 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 prosedürün tam açıklaması için Calendar API'nin Kaynakları senkronize etme kılavuzuna bakın.
Apps Komut Dosyası'nda Takvim ile senkronize etmek için aşağıdaki adımları uygulayın:
- Komut dosyası projesi için Takvim gelişmiş hizmetini etkinleştirin. Yerleşik Takvim hizmeti bu iş akışı için yeterli değildir.
- 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.
- İlk senkronizasyonun sonucu, ilgili takvim için bir
nextSyncToken
döndürür. Bu jetonu daha sonra kullanmak üzere saklayın. - Bir takvim etkinliği değişikliğini gösteren Apps Komut Dosyası
EventUpdated
tetikleyicisi etkinleştiğinde, depolanannextSyncToken
öğesini kullanarak etkilenen takvim için artımlı senkronizasyon gerçekleştirin. Bu aslında başka bir Events.list() isteğidir. AncaknextSyncToken
seçeneğinin sağlanması, yanıtı yalnızca son senkronizasyondan sonra değişen etkinliklerle sınırlandırır. - 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.
- 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, bir sonraki senkronizasyon işlemini yalnızca en güncel değişiklikleri döndürmeye zorlar.
EventUpdated(yüklenebilir) |
|
---|---|
authMode |
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 |
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 de denir) komut dosyalarının belirli bir zamanda veya yinelenen bir aralıkta yürütülmesini sağlar.
Zamana dayalı (yüklenebilir) | |
---|---|
authMode |
FULL |
day-of-month |
Bu özellik adı tire içerdiğinden, nokta gösterimi yerine 31 |
day-of-week |
Bu mülk adı kısa çizgi içerdiğinden nokta gösterimi yerine 7 |
hour |
23 |
minute |
59 |
month |
12 |
second |
59 |
timezone |
Saat dilimi. UTC |
triggerUid |
Bu etkinliği oluşturan tetikleyicinin kimliği. 4034124084959907503 |
week-of-year |
Bu mülk adı kısa çizgi içerdiğinden nokta gösterimi yerine 52 |
year |
Yıl. 2015 |