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 genellikle e
adı verilen bir etkinlik nesnesini bağımsız değişken olarak iletir. Etkinlik nesnesi, tetikleyicinin etkinleşmesine neden olan bağlamla ilgili bilgiler 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çıklanır.
Google E-Tablolar etkinlikleri
Google E-Tablolar'a özel çeşitli tetikleyiciler, komut dosyalarının bir e-tablodaki kullanıcı işlemlerine yanıt vermesini sağlar.
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 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 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ücrenin önceden hiç içeriği yoksa tanımsız olur. 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 |
Varsa etkin kullanıcıyı temsil eden bir amin@example.com |
value |
Düzenlemeden sonraki yeni hücrenin 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ırada değerlere sahip olan dizi. ['2015/05/04 15:00', 'amin@example.com', 'Bob', '27', 'Bill', '28', 'Susan', '25'] |
Google Dokümanlar etkinlikleri
Tetikleyiciler, bir 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 etkin kullanıcıyı temsil eden bir amin@example.com |
Google Slaytlar etkinlikleri
Tetikleyiciler, bir kullanıcı 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 etkin kullanıcıyı temsil eden bir amin@example.com |
Google Formlar etkinlikleri
Google Formlar'a özel tetikleyiciler, bir kullanıcı 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 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, bir kullanıcı yanıt vermek için bir form açtığında değil, bir düzenleyici formda 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 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, bir 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 nasıl 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 gerçekleştirmesi 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 edilmesi gerektiğ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 belirten Apps Komut Dosyası
EventUpdated
tetikleyicisi etkinleştiğinde, depolanannextSyncToken
kullanarak etkilenen takvim için artımlı senkronizasyon gerçekleştirin. Bu aslında başka bir Events.list() isteğidir ancaknextSyncToken
sağlanması, yanıtı yalnızca son senkronizasyondan sonra değişen etkinliklerle sınırlar. - 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, bir e-tabloyu güncelleyebilir, e-posta bildirimleri gönderebilir veya başka işlemler gerçekleştirebilirsiniz.
- Bu takvim için depoladığınız
nextSyncToken
değeri, artımlı senkronizasyon isteği tarafından döndürülen değerle güncelleyin. Bu işlem, 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 eklentisi etkinlikleri
Kullanıcı bir eklenti yüklediğinde onInstall()
tetikleyicisi 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 adlandırılır), komut dosyalarının belirli bir zamanda veya yinelenen bir aralıkta yürütülmesini sağlar.
Zamana dayalı (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 |