LANG SELRCT

Google Apps Scriptのコードを書く場所  (新規作成: スプレッドシート | スクリプトエディタ

2018年1月8日月曜日

JSONデータを作ってGoogleドライブに保存する


  var obj = {
    "a": "えー",
    "b": "びー",
    "c": "しー"
  }

というオブジェクトを作成してJSONに変換して

Googleドライブの指定したフォルダに保存する

(保存したファイルを開いた画面↓)


コード.gsの

FOLDER_ID:保存先のフォルダのID
FILE_NAME:保存したいファイル名

は任意で設定して下さい



コード.gs
function save_as_json() {
  var json = create_data();
  create_file(json);
}

function create_data() {
  var obj = {
    "a": "えー",
    "b": "びー",
    "c": "しー"
  }
  var json = JSON.stringify(obj);
  return json;
}

function create_file(json) {
  var content_type = "application/json";
  var file_name = "FILE_NAME";
  var blob = Utilities.newBlob("", content_type, file_name);
  var file = blob.setDataFromString(json, "UTF-8");
  var folder = DriveApp.getFolderById("FOLDER_ID");
  folder.createFile(file);
}
意訳
この機能がやること
create_data()を実行して
返ってきた値をcreate_fileに渡す


この機能がやること
オブジェクトを作成して
    "a": "えー",
    "b": "びー",
    "c": "しー"

JSON形式に変換して
返す


この機能がやること
content_typeを設定する
ファイル名を設定する
Blob objectを作成して
jsonと文字コードを渡し
指定したフォルダに
ファイルを作成する




マイドライブに保存する場合はFOLDER_IDを指定しない



コード2.gs
function create_file(json) {
  var content_type = "application/json";
  var file_name = "FILE_NAME";
  var blob = Utilities.newBlob("", content_type, file_name);
  var file = blob.setDataFromString(json, "UTF-8");
  var url = DriveApp.createFile(file).getUrl();
  Logger.log(url);
}


参考

Class Utilities

最新の投稿

Pixel 5でSuicaが使えないときはGoogle PayでSuicaを有効にしてみる

Pixel 5への機種変でSuicaが使えない人向けに書きました。 MISSION Pixel 5でSuicaを使えるようにする SOLUTION 旧端末で機種変更の設定を行う NFCをオンにする Google PayでSuicaを有効にする PROBLEMS 以前...