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 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 |
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.
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 ö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.
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 |
Mevcutsa 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, düzenleyen bir kullanıcı 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 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:
- 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. - Apps Script
EventUpdated
tetikleyicisi, takvim etkinliğinde değişiklik olduğunu belirten bir tetikleme gönderdiğinde, depolanannextSyncToken
değerini kullanarak etkilenen takvim için artımlı senkronizasyon gerçekleştirin. Bu temelde başka bir Events.list() isteğidir ancaknextSyncToken
sağlandığında yanıt yalnızca son senkronizasyondan bu yana değişen etkinliklerle sınırlandırılı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, sonraki senkronizasyon işleminin yalnızca en güncel değişiklikleri döndürmesini sağlar.
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 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 |
FULL |
day-of-month |
Bu mülk adı kısa çizgi 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 |