Basit tetikleyiciler ve yüklenebilir tetikleyiciler, belirli bir etkinlik gerçekleştiğinde Apps Komut Dosyası'nın bir işlevi otomatik olarak çalıştırmasını sağlar. Bir tetikleyici etkinleştiğinde Apps Komut Dosyası, işleve bağımsız değişken olarak bir etkinlik nesnesi iletir. Bu işlev genellikle e
olarak adlandırılır. Etkinlik nesnesi, tetikleyicinin etkinleşmesine neden olan bağlamla ilgili bilgileri içerir. Örneğin, aşağıdaki örnek kodda, hangi hücrenin düzenlendiğini belirlemek üzere etkinlik nesnesini kullanan bir Google E-Tablolar komut dosyası için basit bir onEdit(e)
tetikleyicisi 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 ayrıntılı olarak açıklanmaktadır.
Google E-Tablolar etkinlikleri
Google E-Tablolar'a özel çeşitli tetikleyiciler, komut dosyalarının e-tablodaki kullanıcı 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 |
Varsa (karmaşık güvenlik kısıtlamaları grubuna bağlı olarak) 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 |
Varsa (karmaşık güvenlik kısıtlamaları grubuna bağlı olarak) etkin kullanıcıyı temsil eden bir amin@example.com |
Düzenle(basit ve yüklenebilir) |
|
---|---|
authMode |
LIMITED |
oldValue |
Varsa düzenlemeden önceki hücre değeri. Yalnızca, düzenlenen aralık tek bir hücreyse kullanılabilir. Hücrede daha önce içerik yoksa tanımlanmaz. 1234 |
range |
Düzenlenen hücreyi veya hücre aralığını temsil eden 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 |
Varsa (karmaşık güvenlik kısıtlamaları grubuna bağlı olarak) etkin kullanıcıyı temsil eden bir 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 |
FULL |
namedValues |
Form gönderimindeki soru adlarını ve değerleri 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 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 |
Varsa (karmaşık güvenlik kısıtlamaları grubuna bağlı olarak) 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 |
Varsa (karmaşık güvenlik kısıtlamaları grubuna bağlı olarak) 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 Formlar 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, bir kullanıcı yanıt vermek için formu açtığında değil, bir düzenleyici değişiklik yapmak için formu açtığında gerçekleşir.
Form gönderme(yüklenebilir) |
|
---|---|
authMode |
FULL |
response |
Kullanıcının forma verdiği yanıtı bütün olarak temsil eden FormResponse |
source |
Komut dosyasının bağlı olduğu Google Formlar dosyasını temsil eden bir Form |
triggerUid |
Bu etkinliği oluşturan tetikleyicinin kimliği. 4034124084959907503 |
Google Takvim etkinlikleri
Bir kullanıcının takvim etkinlikleri güncellendiğinde (oluşturulduğunda, düzenlendiğinde veya silindiğinde) Takvim tetikleyicileri etkinleşir.
Bu tetikleyiciler hangi etkinliğin veya nasıl değiştiğini size bildirmez. Bunun yerine, takvimde yapılan son değişiklikleri almak için kodunuzun artımlı bir senkronizasyon işlemi yapması gerektiğini belirtir. 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 söz konusu 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.
- Bu takvim için depoladığınız
nextSyncToken
değerini, artımlı senkronizasyon isteği tarafından döndürülen takvimle 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 Eklenti 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.
Zaman odaklı (yüklenebilir) | |
---|---|
authMode |
FULL |
day-of-month |
Bu özellik adı tire içerdiğinden, nokta gösterimi yerine 31 |
day-of-week |
Bu özellik adı tire 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 özellik adı tire içerdiğinden, nokta gösterimi yerine 52 |
year |
Yıl. 2015 |