Help us understand the problem. What is going on with this article?

Google Apps ScriptでWeb上にあるJsonデータを取得してSpreadSheetに入力する

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

おしまい。

tentatsu
好きな食べ物はうなぎといちごです。略してうなごですね。 最近はDB設計やら、システム設計やら、受託やら システムに関連するお仕事何でもやっています。 オフショアチーム持っているので、大きめのプロジェクトもどんとこい。 公開中のサービス: アイコンサーチ http://icon-search.jp/ ことさが http://cotosaga.com/
https://arcplg.com
archipelago
【つくりこみファースト】みんなが活用できる技術で、クリエィティブに専念できる世界を!
http://arcplg.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした