2017-05-14 4 views
1

Ich habe die Google Tabellen API Version 4 verwendet, um autorisierten Benutzern die Eingabe von Daten in eine Tabelle über ein Formular zu ermöglichen. Ich möchte, dass ein Google Apps-Skript eine Funktion auslöst, wenn neue Daten hinzugefügt werden. Ich kann nicht scheinen, um den on-Edit-Trigger zu arbeiten mitGoogle Sheets API V4 und Google Apps Skript

Ist es möglich, das zu tun?

Antwort

2

Wie wäre es mit Beispielskript? Wenn die Tabelle extern von Sheet API v4 bearbeitet wurde, wird onChange() ein Auslöser dafür. Wechseln Sie also von onEdit() zu onChange() für Ihr Skript. Ich habe ein Beispielskript vorbereitet, das ich zum Testen verwendet habe.

Dieses Beispielskript sendet eine E-Mail, wenn die Tabelle von Sheet API v4 bearbeitet wurde. Ich habe bestätigt, dass das funktioniert. Wenn Sie dieses Beispiel verwenden, geben Sie bitte Ihre E-Mail ein und führen Sie zuerst createSpreadsheetEditTrigger() aus. Dadurch wird ein Trigger installiert. Bearbeiten Sie anschließend die Tabelle nach Sheet API v4.

Wenn die Tabelle extern von Sheet API v4 bearbeitet wurde, habe ich sendEmail() als Beispiel verwendet, weil der Skript-Editor geschlossen ist.

Beispielskript:

function createSpreadsheetEditTrigger(){ 
    var ss = SpreadsheetApp.getActive(); 
    ScriptApp.newTrigger('makeLog') 
     .forSpreadsheet(ss) 
     .onChange() 
     .create(); 
} 

function makeLog() { 
    MailApp.sendEmail("### Your e-mail address ###", "test mail", "Spreadsheet was edited."); 
} 

Wenn ich Ihre Frage falsch verstanden, tut mir leid.

+0

Ja, das hat funktioniert Danke – slanton

+0

Willkommen und danke Ihnen auch. Wenn dies gelöst wurde, drücken Sie bitte eine Schaltfläche akzeptieren als das gelöste Problem. Andere Leute können diese Frage auch verwenden und beantworten. Die Hilfe ist http://stackoverflow.com/help/someone-answers – Tanaike

+0

Kann ich Ihnen noch eine Frage stellen? Der Auslöser befindet sich auf dem Server. Gibt es eine Möglichkeit, eine Funktion auf der Clientseite auszulösen? – slanton