tentatsuさんの週に一つくらい技術を勉強しようコーナー
今週はGoogleAppScript + SpreadSheet
2020-03-18
コードに少しミスがあったので修正
スクリプトの作り方
この辺の記事を参考にしよう!!
http://qiita.com/negito6/items/c64a7a8589faaffcfdcf
平たく言えば、SpreadSheetのメニュー > ツール > スクリプトエディタ
から新規でスクリプトを選択して作成します。
欲しいデータのあるJSONを狙う
さがしましょう。
GoogleAppScriptでJSONデータを取得する
はい、いきなり結論です。
まず、SpreadSheetのURLを入力して、オブジェクト取得します。
で、狙いしましたJSONのURLを取得、取得したキーを配列にする。
あとは
var json = UrlFetchApp.fetch(json_url).getContentText();
var jsonData = JSON.parse(json);
という超カンタンなコマンド一発でjsonとれます。
あとは煮るなり焼くなりゴニョゴニョループして・・・
sheet.getRange(i, j).setValue(shop[idx][key]);
という形でSpreadSheetに書き込んでおしまい。
以下が全文でござる。
//変数spreadsheetに指定のスプレッドシートオブジェクトを取得します
var sp_url = "https://docs.google.com/spreadsheets/d/*************/";
var spreadsheet = SpreadsheetApp.openByUrl(sp_url);
// 適当にページングとか
var count = 100;
var page = 1;
var start = ((page-1)*count)+1
//JSONのURL
var url1 = "https://json_no_url/" + "?start="+start+"&count="+count;
var keys = {
'id' : "",
'name' : "",
};
function myFunctionJSON() {
// spread sheetのシート設定
var sheet = spreadsheet.getSheetByName("sheet1");
var json = UrlFetchApp.fetch(url1).getContentText();
var jsonData = JSON.parse(json);
var shop = jsonData.results.shop;
for (var idx in shop) {
var j=1;
for(var key in keys) {
var type = typeof shop[idx][key];
sheet.getRange(i, j).setValue(shop[idx][key]);
j++;
}
i++;
}
}
おしまい。