スプレッドシートに 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]);
}
}
}
}