スプレッドシートに 2 つのシートがあります。
外部 API からデータを取得する最初のシートは、トリガーを介して常に更新される今後のすべてのクラスを確認します。
ID | クラス | 開始 | 仕上げ | 説明 1 tig 溶接 2013 年 7 月 6 日 10:30 2013 年 7 月 6 日 12:30 クラスの説明 2 tig 溶接 2013 年 7 月 8 日 10:30 2013 年 7 月 8 日 12:30 クラスの説明 3 Serger Basics 7/8/ 2013 14:30 2013/7/6 16:30 クラス説明
2 つ目は、2 番目の列「カテゴリ」を追加する静的クラス リストです。
クラス | カテゴリ tig 溶接 金属加工 Serger Basics テキスタイル
両方のスプレッドシートのタイトルが一致するかどうかを確認し、一致する場合は、次のように最初のシートにカテゴリを追加します。
ID | タイトル | 開始 | 仕上げ | 説明 | カテゴリー
次に、そのスプレッドシートを JSON としてサードパーティの Web アプリに提供します。大変な作業のように聞こえますが、他の解決策は思いつきませんでした。これは進行中のコードで、私が立ち往生しているメモが付いています。
function listClasses(){
 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = ss.getSheets()[0]; //list of all upcoming classes
 var sheet1 = ss.getSheets()[1]; //list of titles
 var data = sheet.getDataRange().getValues(); // read all data in the sheet
 var data1 = sheet1.getDataRange().getValues();
 for(n=1;n<data1.length;++n){
    var title1 = data1[n][0];
    var category = data1[n][1];
  // compare Check if title appears in column A of sheet 2.
  if (ArrayLib.find(data1, 0, title1) != -1) {
    // Yes it does, do something in sheet 0
    for( var row = data.length -1; row >= 0; --row )
      if (data[row][1] == title1){
          var id = data[row][0];
          var title = data[row][1];
          var start = data[row][3];
          var finish = data[row][4];
          var description = data[row][5];
          var category = data1[n][1];
  // and here is where I got stuck!
  data.appendRow([category]); 
}
        }
      }
    }