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.
Aç(basit ve yüklenebilir) |
|
|---|---|
authMode |
LIMITED |
source |
Komut dosyasının bağlı olduğu 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 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 E-Tablolar dosyasını temsil eden bir
Spreadsheet |
triggerUid |
Bu etkinliği oluşturan tetikleyicinin kimliği. 4034124084959907503 |
user |
Varsa 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ü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 |
source |
Komut dosyasının bağlı olduğu 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 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ğ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ğ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.
Aç(basit ve yüklenebilir) |
|
|---|---|
authMode |
LIMITED |
source |
Komut dosyasının bağlı olduğu 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 etkin kullanıcıyı temsil eden bir amin@example.com |
Google Slaytlar etkinlikleri
Tetikleyiciler, kullanıcı bir sunuyu açtığında Slaytlar'ın yanıt vermesini sağlar.
Aç(basit) |
|
|---|---|
authMode |
LIMITED |
source |
Komut dosyasının bağlı olduğu Slaytlar dosyasını temsil eden bir Presentation |
user |
Varsa etkin kullanıcıyı temsil eden bir 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.
Aç* (basit ve yüklenebilir) |
|
|---|---|
authMode |
LIMITED |
source |
Komut dosyasının bağlı olduğu Formlar dosyasını temsil eden bir 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 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 |
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 Formlar dosyasını temsil eden bir 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:
- Komut dosyası projesi için Takvim gelişmiş hizmetini etkinleştirin. Yerleşik Takvim hizmeti bu iş akışı için yeterli değil.
- 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.
- İlk senkronizasyon, söz konusu takvim için
nextSyncTokendöndürür. Bu jetonu daha sonra kullanmak üzere saklayın. - Apps Komut Dosyası
EventUpdatedtetikleyicisi, takvim etkinliğinde değişiklik olduğunu belirten bir tetikleyiciyi etkinleştirdiğinde, depolanannextSyncTokenkullanılarak etkilenen takvim için artımlı senkronizasyon gerçekleştirin. Bu, aslında başka bir Events.list() isteğidir ancaknextSyncTokenparametresinin sağlanması, yanıtı yalnızca son senkronizasyondan bu yana değişen etkinliklerle sınırlar. - 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.
- Bu takvim için depolanan
nextSyncTokendeğ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 |
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 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 özellik adı kısa çizgi içerdiğinden nokta gösterimi yerine 31 |
day-of-week |
Bu özellik 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 özellik adı kısa çizgi içerdiğinden nokta gösterimi yerine 52 |
year |
Yıl. 2015 |