私はGoogleスプレッドシートのプロジェクトに取り組んでおり、編集/削除/改行などのようにシート上のアクティビティをトリガーするスクリプトを使用しています。これらのアクティビティは、測定プロトコルを使用してGoogleアナリティクスに送信されます。if..If Else .. google-appスクリプト内で機能を呼び出す
これは編集、newLineまたは削除された既存の値であると判断するIf ... Else if ... Elseを持っています。
これは私のコードです
//回答後のUPDATEDコードですが、それでも動作しません。
var GoogleAnalyticsEDIT;
var GoogleAnalyticsSLETT;
var GoogleAnalyticsREDIGER;
// MP
// EDIT SEND
GoogleAnalyticsEDIT = function GoogleAnalyticsEDIT(tid){
var data = { 'v': '1',
't' : 'event',
'tid': tid, // TrackingID Google Analytics
'cid': Session.getTemporaryActiveUserKey(),
'ec': 'SpreadSheet', // Event Kategori.
'ea': 'nyVerdi-'+noLetter, // Event Hendelse(action)
'el': SpreadsheetApp.getActiveSpreadsheet().getName(),
'ev': '300' }; // test og fjern <----- TEST OG FJERN
var payload = Object.keys(data).map(function(key) {
return encodeURIComponent(key) + '=' + encodeURIComponent(data[key]);
}).join('&');
var options = {'method' : 'POST',
'payload' : payload };
UrlFetchApp.fetch('http://www.google-analytics.com/collect', options);
}
//MP
// SLETT SEND
GoogleAnalyticsSLETT = function GoogleAnalyticsSLETT(tid){
var data = { 'v': '1',
't' : 'event',
'tid': tid, // TrackingID Google Analytics
'cid': Session.getTemporaryActiveUserKey(),
'ec': 'SpreadSheet', // Event Kategori.
'ea': 'slettVerdi-'+noLetter, // Event Hendelse(action)
'el': SpreadsheetApp.getActiveSpreadsheet().getName(),
'ev': '300' }; // test og fjern <----- TEST OG FJERN
var payload = Object.keys(data).map(function(key) {
return encodeURIComponent(key) + '=' + encodeURIComponent(data[key]);
}).join('&');
var options = {'method' : 'POST',
'payload' : payload };
UrlFetchApp.fetch('http://www.google-analytics.com/collect', options);
}
// MP
// REDIGER SEND
GoogleAnalyticsREDIGER = function GoogleAnalyticsREDIGER(tid){
var data = { 'v': '1',
't' : 'event',
'tid': tid, // TrackingID Google Analytics
'cid': Session.getTemporaryActiveUserKey(),
'ec': 'SpreadSheet', // Event Kategori.
'ea': 'redigerVerdi-'+noLetter, // Event Hendelse(action)
'el': SpreadsheetApp.getActiveSpreadsheet().getName(),
}; // test og fjern <----- TEST OG FJERN
var payload = Object.keys(data).map(function(key) {
return encodeURIComponent(key) + '=' + encodeURIComponent(data[key]);
}).join('&');
var options = {'method' : 'POST',
'payload' : payload };
UrlFetchApp.fetch('http://www.google-analytics.com/collect', options);
}
//FUNKSJON ---- DEBUG
var newValue = (typeof e.value == "object" ? e.range.getValue() : e.value);
var oldValue = (typeof e.oldValue == "object" ? e.range.getValue() : e.oldValue);
if (!e.oldValue) {
Browser.msgBox("GA: newValue (NY LINJE)");
GoogleAnalyticsEDIT("UA-101502909-2");
}
else if (e.value.hasOwnProperty("oldValue")) {
GoogleAnalyticsSLETT("UA-101502909-2");
}
else {
Browser.msgBox("GA: ChangeValue (REDIGERT VERDI)");
GoogleAnalyticsREDIGER("UA-101502909-2")
}
} //slutt: MyOnEditNeW();
問題:最初のIF(..)ステートメントの作品は、私は、メッセージボックスの警告を取得し、データをGoogleアナリティクスに送信され、ではなく、第二の打撃エルス(...)ブロックの場合。 msgboxアラートは機能しますが、GoogleAnalyticsSLETT();
機能は起動しません。これはインストール可能なトリガーです
If Elseステートメントの関数を呼び出すことが許可されていない可能性がありますか、コードが間違っていますか?
にあなたは 'Browser.msgBox()'デバッグに使用しないでください。 'Logger.log( 'variableName:' + variableName)'を使います。コードを実行してから、LOGSを表示します。また、実行記録は何を表していますか?どのコード行が失敗するか。私たちは行番号を知りたくありません。あなたのコードの行番号はわかりません。 –