2017-02-10 7 views
0

WorkatoというREST APIソフトウェアがQuick Baseからデータを受け取り、Google Spreadsheetに入力するときに、編集時に関数をトリガーするのに問題が発生しています。REST APIリクエストによるGoogle Script関数のトリガー

以下のコードはGoogleスプレッドシートのタブを自動ソートしています。

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 }); 
 
    
 
}

iは代わりonPostからのonEdit使用しようとすると、手動で、スプレッドシートの行を更新するとき、それはIDカラムで行をソートします。

私はonPostを試して、Workatoから更新リクエストを送信すると、Google Script関数が実行されず、結果として行がソートされません。

ご協力いただければ幸いです。

は私が正しく理解していれば、あなたはWorkatoは、シート内のデータを編集した後、スプレッドシートが自動的にソート機能を呼び出すがしたいあなたに

+0

あなたはREST呼び出しでonPost呼び出そうとしていると言います。これはあなたのスクリプトがwebappとして公開されていることを意味しますか? –

+0

いいえ、そうではありません。私は実際にはGoogle Scriptingの新機能が新しくなっています。私はそれを発表すべきか?または解決策はありますか?お返事ありがとうございます。 –

答えて

2

ありがとうございます。

スクリプトやアドオンによる編集ではOnEditトリガが生成されないため、Workatoがデータを更新した後にスプレッドシートでGoogle Apps Script関数をトリガするために別途POSTリクエストを送信する必要があります。

POSTリクエストを介して関数を呼び出すには、 ""ではなく "onPost()"という関数を指定し、Publishメニューからスクリプトをweb-appとして公開する必要があります。

スクリプトを公開するときは、あなたのように「実行」し、「誰でも、匿名でも」アクセスできるようにする必要があります。ウェブアプリがdoGet()doPost()という名前の関数を経由して、それが入ってくるGETやPOSTリクエストを受け取ることができますよう

スクリプトを公開。

はこちらのドキュメントを参照してください: https://developers.google.com/apps-script/guides/web

+0

ありがとうございますが、依然としてこの機能は起動していません。私はここにステップがない場合、私は確信していません。 –

+0

私の関数をdoPostのように更新し、webappとして公開してPOSTリクエストを送信しましたが、まだ関数はトリガーとソートを行いませんでした。スクリプトのURLを提供 は、「:doGetメソッドスクリプト機能見つかりません」というエラーが返されます。 Altohugh私doPostを使用して、URLはそれがgetメソッドだと言います。 –

+0

URLは常に要求の種類に応じてdoPostまたはdoGetのいずれかを実行します。 –

関連する問題