2017-02-10 7 views
0

Ich habe Probleme, eine Funktion beim Bearbeiten auszulösen, wenn die REST-API-Software Workato Daten von Quick Base empfängt und in Google Spreadsheet eingibt.Auslösen der Google Script-Funktion mit REST-API-Anforderung

Die folgenden Codes sortieren automatisch die angegebenen Tabs in Google Spreadsheet.

function onPost(){ 
 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
 
    
 
    var ApprovedTab = ss.getSheetByName("APPROVED"); 
 
    var CollateralPending = ss.getSheetByName("COLLATERAL PENDING"); 
 
     var InProcessing = ss.getSheetByName("IN PROCESSING"); 
 
      var InClosing = ss.getSheetByName("IN CLOSING"); 
 
        var funded = ss.getSheetByName("FUNDED"); 
 
    
 
    
 
var ApprovedTabRange = ApprovedTab.getRange("A2:T99"); 
 
    var CollateralPendingRange = CollateralPending.getRange("A2:T99"); 
 
     var InProcessingRange = InProcessing.getRange("A2:T99"); 
 
     var InClosingRange = InClosing.getRange("A2:T99"); 
 
      var fundedRange = funded.getRange("A2:T99"); 
 
    
 
ApprovedTabRange.sort({ column : 1, ascending: true }); 
 
    CollateralPendingRange.sort({ column : 1, ascending: true }); 
 
    InProcessingRange.sort({ column : 1, ascending: true }); 
 
    InClosingRange.sort({ column : 1, ascending: true }); 
 
    fundedRange.sort({ column : 1, ascending: true }); 
 
    
 
}

Wenn ich versuche, statt onPost mit onEdit und manuell eine Zeile in Tabelle aktualisieren, sortiert sie Zeilen von Spalte ID.

Wenn ich onPost versuche und eine Aktualisierungsanforderung von Workato sende, wird die Google Script-Funktion nicht ausgeführt, und als Ergebnis werden keine Zeilen sortiert.

Jede Hilfe wäre willkommen.

Danke

+0

Sie sagen, Sie versuchen, mit einem REST Aufruf zu nennen onPost. Bedeutet dies, dass Ihr Skript als Webanwendung veröffentlicht wird? –

+0

Nein, ist es nicht. Ich bin wirklich neu in Google Scripting. Soll ich es veröffentlichen? oder Gibt es Lösungen? Danke –

Antwort

2

Wenn ich richtig verstehe, Sie die Tabelle automatisch rufen Sie die Sortierfunktion haben wollen nach Workato Daten in dem Blatt bearbeitet.

Da Bearbeitungen über Skripts oder Add-Ons keinen OnEdit-Trigger generieren, müssen Sie eine separate POST-Anforderung senden, um eine Google Apps Script-Funktion in Ihrer Tabelle auszulösen, nachdem Workato die Daten aktualisiert hat.

Um eine Funktion über eine POST-Anforderung aufzurufen, müssen Sie die Funktion "doPost()" anstelle von "onPost()" benennen. Anschließend müssen Sie das Skript als Webanwendung im Menü "Veröffentlichen" veröffentlichen.

Bei der Veröffentlichung des Skripts möchten Sie "ausführen" als Sie und für "jedermann, auch anonym" zugänglich sein.

Wenn Sie das Skript als Webanwendung veröffentlichen, kann es eine eingehende GET- oder POST-Anforderung über die Funktionen doGet() oder doPost() empfangen.

finden Sie in der Dokumentation hier: https://developers.google.com/apps-script/guides/web

+0

Danke für die Antwort aber es löst immer noch nicht die Funktion aus. Ich bin mir nicht sicher, ob ich hier einen Schritt verpasse. –

+0

Ich habe meine Funktion als folgende doPost aktualisiert, es als WebApp veröffentlicht und eine POST-Anfrage gesendet und noch Funktion nicht ausgelöst und zu sortieren. Die angegebene URL für das Skript gibt einen Fehler mit der Meldung "Script function not found: doGet" zurück. Altohugh ich habe doPost verwendet, URL sagt, dass es eine Methode ist. –

+0

Die URL akzeptiert immer sowohl get und post Anfragen, es führt entweder doPost oder doGet abhängig vom Anfragetyp aus. –

Verwandte Themen