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ına olanak tanır. Bir tetikleyici etkinleştiğinde Apps Komut Dosyası, işleve genellikle e
olarak adlandırılan bir etkinlik nesnesini bağımsız değişken olarak iletir. 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 ayrıntılı olarak açıklanmaktadı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 vermesini sağlar.
Aç(basit ve yüklenebilir) |
|
---|---|
authMode |
LIMITED |
source |
Bir Spreadsheet |
triggerUid |
Bu etkinliği oluşturan tetikleyicinin kimliği (yalnızca yüklenebilir tetikleyiciler). 4034124084959907503 |
user |
Kullanılabiliyorsa 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 |
Kullanılabiliyorsa 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ız olur. 1234 |
range |
Düzenlenen hücreyi veya hücre aralığını temsil eden bir Range |
source |
Bir Spreadsheet |
triggerUid |
Bu etkinliği oluşturan tetikleyicinin kimliği (yalnızca yüklenebilir tetikleyiciler). 4034124084959907503 |
user |
Kullanılabiliyorsa 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 |
Değerlerin, e-tabloda göründükleri sırayla yer aldığı dizi. ['2015/05/04 15:00', 'amin@example.com', 'Bob', '27', 'Bill', '28', 'Susan', '25'] |
Google Dokümanlar etkinlikleri
Tetikleyiciler, Google Dokümanlar'ın kullanıcı bir dokümanı açtığında yanıt vermesini sağlar.
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 |
Kullanılabiliyorsa etkin kullanıcıyı temsil eden bir amin@example.com |
Google Slaytlar etkinlikleri
Tetikleyiciler, Google Slaytlar'ın kullanıcı bir sunuyu açtığında yanıt vermesini sağlar.
Aç(basit) |
|
---|---|
authMode |
LIMITED |
source |
Komut dosyasının bağlı olduğu Google Slaytlar dosyasını temsil eden bir Presentation |
user |
Kullanılabiliyorsa 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 |
Kullanılabiliyorsa 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 Google Formlar dosyasını temsil eden bir Form |
triggerUid |
Bu etkinliği oluşturan tetikleyicinin kimliği. 4034124084959907503 |
Google Takvim etkinlikleri
Takvim tetikleyicileri, 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 bildirmez. 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 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 ilk senkronizasyon işlemini gerçekleştirin.
- İlk senkronizasyonun sonucu, ilgili takvim için
nextSyncToken
döndürür. Bu jetonu daha sonra kullanmak üzere saklayın. - Apps Komut Dosyası
EventUpdated
tetikleyicisi, takvim etkinliği değişikliğini gösterdiğinde, depolanannextSyncToken
kullanılarak etkilenen takvim için artımlı senkronizasyon gerçekleştirin. Bu, temelde başka bir Events.list() isteğidir ancaknextSyncToken
parametresinin 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 senkronizasyonun yanıtını inceleyin ve kodunuzun uygun şekilde yanıt vermesini sağlayın. Örneğin, değişikliği kaydedebilir, bir 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 değerle güncelleyin. Bu işlem, bir sonraki senkronizasyon işleminin yalnızca en güncel değişiklikleri döndürmesini zorunlu kı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 eklenti etkinlikleri
onInstall()
tetikleyici, 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 |