Apps Komut Dosyası tetikleyicileri belirtilen bir komut dosyasına neden olur işlevi (tetikleyici işlevi) gerçekleşir. Yalnızca belirli etkinlikler tetikleyicilerin etkinleşmesine neden olabilir ve bunların her biri Google Workspace uygulaması farklı bir etkinlik grubunu destekler.
Bir tetikleyici etkinleştiğinde bir etkinlik nesnesi oluşturulur. Bu JSON yapısı gerçekleşen etkinlikle ilgili ayrıntıları içerir. Etkinlikteki bilgiler nesne yapısı, tetikleyici türüne göre farklı şekilde düzenlenir.
Etkinlik nesnesi oluşturulduktan sonra, Apps Komut Dosyası bu nesneyi parametre olarak
tetikleyici işlevi. Tetikleyici işlevi bir geri çağırma işlevidir.
gerekli adımları atıp gerekli önlemleri almanız için
unutmayın. Örneğin, Düzenleyici eklentisinde bir tetikleyici
doküman açıldığında eklenti menü öğeleri oluşturmak için kullanılır. Böyle durumlarda
eklentinin menü öğelerini oluşturmak için onOpen(e)
tetikleyici işlevinde uygulayın
muhtemelen etkinlik nesnesindeki verileri kullanarak.
Bu sayfada, düzenleyen eklenti projeleri oluşturabilirsiniz.
Düzenleyici eklentisi tetikleyici türleri
Apps Komut Dosyası projelerinde kullanılabilen genel tetikleyici türlerinin çoğunu kullanabilirsiniz. basit tetikleyiciler dahil olmak üzere Düzenleyici Eklentileri'ne ve çoğu yüklenebilir tetikleyici. İlgili içeriği oluşturmak için kullanılan Tam kullanılabilir tetikleyici türleri grubu, genişletilmekte olan uygulamaya bağlıdır.
Aşağıdaki tabloda, uygulamanızın kullanılabilmesini sağlayan basit ve yüklenebilir tetikleyici türleri Düzenleyici Eklentileri, ilgili etkinlik nesnelerini kullanabilir ve bunlara bağlantı sağlar:
Etkinlik | Etkinlik nesnesi | Basit tetikleyiciler | Yüklenebilir tetikleyiciler |
---|---|---|---|
Aç Bir düzenleyici dosyası açılır. |
Dokümanlar onOpen etkinlik nesnesi Formlar onOpen etkinlik nesnesi E-Tablolar onOpen etkinlik nesnesi Slaytlar onOpen etkinlik nesnesi |
![]() ![]() ![]() ![]()
|
![]() ![]() ![]() |
Yükle Eklenti yüklü. |
oninstall etkinlik nesnesi |
![]() ![]() ![]() ![]()
|
|
Düzenle E-tablonun hücre içeriği değiştirildi. |
E-Tablolar onEdit etkinlik nesnesi |
![]()
|
![]() |
Değişiklik Sayfadaki içerik düzenlenir veya biçimlendirilmiştir. |
E-Tablolar onChange etkinlik nesnesi |
![]() |
|
Form gönderme Bir Google Formu gönderilir. |
Formlar'da form gönderme etkinlik nesnesi E-Tablolar form gönderme etkinlik nesnesi |
![]() ![]() |
|
Zaman odaklı (saat) Tetikleyici, belirtilen bir zamanda veya aralıkta etkinleşir. |
Zamana dayalı etkinlik nesnesi |
![]() ![]() ![]() ![]() |
* Google Formlar için açık etkinlik, kullanıcı bir formu yanıtlayacak şekilde gönderin, daha ziyade bir düzenleyici oluşturmak için formu açtığında.
Eklentilerdeki basit tetikleyiciler
Basit tetikleyiciler ayrılmış bir grup kullanır işlev adlarını içeren, yetkilendirme gerektiren hizmetleri kullanamaz ve otomatik olarak etkinleştirilir. Bazı durumlarda, basit bir tetikleyici etkinlik bunun yerine yüklenebilir bir tetikleyici tarafından işlenir.
Sadece bir işlevi uygulayarak eklentiye basit bir tetikleyici ekleyebilirsiniz. aşağıdaki ayrılmış adlardan birine sahip olmalıdır:
onOpen(e)
, kullanıcı bir dokümanı, e-tabloyu veya en iyi uygulamaları paylaşacağız.onOpen(e)
, düzenleyicide bir form açıldığında da yürütülebilir (ancak forma yanıt verirken değil). Yalnızca kullanıcının söz konusu dosyayı düzenleme izni vardır ve genellikle dosyanın menü öğeleri.onInstall(e)
, kullanıcı bir eklenti yüklediğinde yürütülür. NormaldeonInstall(e)
yalnızcaonOpen(e)
numaralı telefonu aramak için kullanılır; Böylece, eklenti menülerinin yüklemeden hemen sonra kullanıcının sayfayı yenilemesine gerek kalmadan.onEdit(e)
, kullanıcı e-tablodaki bir hücre değerini değiştirdiğinde yürütülür. Bu tetikleyici, hücre taşıma, biçimlendirme veya hücre değerlerini değiştirmeyen başka değişiklikler var.
Kısıtlamalar
Eklentilerdeki basit tetikleyiciler aynı geçerli olan kısıtlamalara Google Apps Komut Dosyası projeleri için tetikleyicidir. Şunları not edin: kısıtlamalara dikkat edin:
- Basit tetikleyiciler bir dosya salt okunur olarak açıldığında çalışmaz ( yorum) moduna girer. Bu durum, eklenti menülerinizin doldurulmasını engeller.
- Düzenleyici eklentileri, belirli durumlarda
onOpen(e)
ve Yetkilendirmesiz moddaonEdit(e)
basit tetikleyici. Bu modda ekran belirtildiği gibi bazı ek komplikasyonlar eklenti yetkilendirme modeli hakkında daha fazla bilgi edinin. - Basit tetikleyiciler hizmetleri kullanamaz veya başka işlemler yapmayı da yetkilendirme, bu kılavuzda eklenti yetkilendirme modeli.
- Basit tetikleyiciler 30 saniyeden uzun süre çalıştırılamaz. En aza indirmeye özen gösterin Basit bir tetikleyici işlevinde yapılan işlem miktarı.
- Basit tetikleyiciler Apps Komut Dosyası tetikleyicisine tabidir. kota sınırlarını kaldırın.
Eklentilerde yüklenebilir tetikleyiciler
Eklentiler
yüklenebilir tetikleyicileri programatik olarak oluşturma ve değiştirme
Apps Komut Dosyası Script
hizmetiyle. eklenti
Yüklenebilir tetikleyiciler manuel olarak oluşturulamaz. Basit tetikleyicilerden farklı olarak
Yüklenebilir tetikleyiciler, yetkilendirme gerektiren hizmetleri kullanabilir.
Eklentilerdeki yüklenebilir tetikleyiciler hata e-postaları göndermez çoğu durumda kullanıcı hatalarla karşılaştığında bunu kullanıcıya bildiremez. adım adım açıklıyor. Bu nedenle, eklentinizi Mümkün olduğunda hataları kullanıcı adına sorunsuz şekilde ele alın.
Eklentiler aşağıdaki yüklenebilir tetikleyicileri kullanabilir:
- Aç yüklenebilir tetikleyiciler kullanıcı bir dokümanı açtığında yürütülür. veya form düzenleyicide bir form açıldığında (ancak yanıt verirken ekleyin).
- Düzenle Yüklenebilir tetikleyiciler, kullanıcı bir mağazadaki hücre değerini değiştirdiğinde e-tablo kullanarak yapabilirsiniz. Bu tetikleyici, biçimlendirme veya diğer trafik süreçlerine hücre değerlerini değiştirmeyen değişiklikler.
- Değiştir yüklenebilir tetikleyiciler kullanıcı reklam öğesinde herhangi bir değişiklik yaptığında, e-tabloda yapılan biçimlendirme düzenlemeleri ve değişiklikler de dahil olmak üzere elektronik tablo (satır ekleme gibi).
Form gönderme yüklenebilir tetikleyicileri, bir Google Form yanıtı şu durumlarda yürütülür: gönderildi.
Zamana dayalı tetikleyiciler (saat tetikleyicileri de denir) belirli bir zamanda veya belirli bir zamanda düzenli zaman aralığı.
Yüklenebilir tetikleyicileri yetkilendirme
Normalde bir geliştirici, ek yetkilendirme durumunda kullanıcılardan bir sonraki zaman geçirmeye hazır hale gelir.
Ancak, tetikleyici kullanan eklentiler özel yetkilendirme sorunlarıyla karşılaşır. Form gönderimlerini izlemek için tetikleyici kullanan bir eklenti düşünün: İçerik üretici, eklentiyi ilk kez kullandığında yetkilendirebilir, sonra da aylar veya yıllarca çalıştırılabilir. Eklenti geliştiricisi, ek yetkilendirme gerektirirse formu oluşturan kullanıcı Yeniden yetkilendirme iletişim kutusu, çünkü formun ve eklentinin hiçbir zaman çalışmayı durduracaktı.
Normal Apps Komut Dosyası projelerindeki tetikleyicilerden farklı olarak,
eklentiler yeniden yetkilendirme gerekse bile etkinleşmeye devam eder. Ancak komut dosyası
komut dosyası için yetkilendirme gerektiren bir kod satırına gelirse de başarısız olur.
sahip değil. Bu durumu önlemek için geliştiriciler
ScriptApp.getAuthorizationInfo()
uygulamanızın yayınlanan sürümleri arasında değişen kod bölümlerine erişim
görebilirsiniz.
Aşağıda, tetikleme işlevlerinde kullanılması önerilen bir yapı örneği verilmiştir: yetkilendirme tuzaklarından kaçınmalısınız. Örnek tetikleyici işlevi, bir Google E-Tablolar eklentisinde form-gönderme etkinliği yapın ve eklentisinin kullanıcısına şablonlu HTML kullanarak bir uyarı e-postası gönderir.
Code.gs
authorizationemail.html
Kısıtlamalar
Eklentilerdeki yüklenebilir tetikleyiciler kısıtlamalar Google Apps Komut Dosyası projesi türlerindeki yüklenebilir tetikleyicileri yönetir.
Bu kısıtlamalara ek olarak, tetikleyicilere otomatik olarak eklenir:
- Her eklentinin, kullanıcı ve doküman başına her türde yalnızca bir tetikleyicisi olabilir. Örneğin, belirli bir e-tabloda, belirli bir kullanıcı yalnızca tek bir düzenleme yapabilir (kullanıcının da bir form gönderme tetikleyicisi veya aynı e-tabloda yer alan zamana bağlı bir tetikleyicidir. Erişimi olan farklı bir kullanıcı ayrı bir tetikleyici grubuna sahip olabilir.
- Eklentiler yalnızca eklentinin kullanıldığı dosya için tetikleyici oluşturabilir. Yani Google Dokümanı A'da kullanılan bir eklenti, Google Dokümanı B açıldığında izle.
- Zamana dayalı tetikleyiciler, saatte bir defadan daha sık çalıştırılamaz.
- Eklentiler, yüklenebilir tetikleyici bir istisna oluşturur. Bunu kontrol etmek geliştiriciye bağlıdır ve bunları sorunsuz şekilde ele almaktır.
- Eklenti tetikleyicileri aşağıdaki durumlardan herhangi birinde etkinleşmez:
- Eklenti, kullanıcı tarafından kaldırılırsa
- Eklenti bir dokümanda devre dışı bırakılırsa (yeniden etkinleştirilirse) yeniden çalışır hale gelir) veya
- Geliştirici, eklentiyi yayından kaldırır veya ekleyebilirsiniz.
- Eklenti tetikleyici işlevleri yetkisiz bir hizmeti devre dışı bırakabilirler. Bu yalnızca Eklenti yayınlandığında, normal bir Apps Komut Dosyası projesinde aynı tetikleyiciyi yayınlanmamış bir eklenti, komut dosyasının herhangi bir bölümünde yetkilendirme.
- Yüklenebilir tetikleyiciler, Apps Komut Dosyası tetikleyicisine tabidir. kota sınırlarını kaldırın.