LANG SELRCT

Apps Script Reference  (Create: Create new Spreadsheet | Create new Apps Script

Tuesday, July 23, 2019

JSONファイルをGoogleドライブに保存するアプリを作る


JSONデータを作ってGoogleドライブに保存する
を画面上でできるようにしたくて書きました。


こういうことができる


「ファイル名」
「JSON保存したい文字列」
を入力して

「Google Driveに保存」
をクリックするとJSONファイルがマイドライブに保存される。



コード.gs
function doGet(e) {
  return HtmlService.createHtmlOutputFromFile('index');
}

function createJsonFile(json, fileName) {
  var content_type = 'application/json';
  var file_name = fileName;
  var blob = Utilities.newBlob("", content_type, file_name);
  var file = blob.setDataFromString(json, 'UTF-8');
  var result = DriveApp.createFile(file);
  return result.getUrl();
}



index.html
<!DOCTYPE html>
<html>

<head>
    <style>
    #tb {
      width: 30vw;
    }
    
    #ta {
      width: 50vw;
      height: 70vh;
    }
    </style>
</head>

<body>
  ファイル名<br>
  <input type="text" id="tb"><br><br>
  JSON保存したい文字列<br>
  <textarea id="ta"></textarea><br>
  <button id="bt">Google Driveに保存</button>
  
<script>
elem('bt').onclick = jsonToDrive;

/************************************
elem(id)
************************************/
function elem(id) {
  return document.getElementById(id);
}

/************************************
get_data()
************************************/
function jsonToDrive() {
  var json = elem('ta').value;
  var fileName = elem('tb').value;
  google.script.run
  .withFailureHandler(onFailure)
  .withSuccessHandler(onSuccess)
  .createJsonFile(json, fileName);
}

/************************************
onSuccess(result)
************************************/
function onSuccess(result) {
  alert(result);
}

/************************************
onFailure(e)
************************************/
function onFailure(e) {
  alert([e.message, e.stack]);
}

</script>
</body>
</html>



関連記事

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

Latest post

スプレッドシートA列にある複数のテキストをスライドに追加したい(Google Apps Script)

今回Google Apps Scriptでやりたいこと GoogleスプレッドシートA列にある複数の値を取得して Googleスライドに渡して 図形オブジェクトのテキストとして追加したい ① スプレッドシートのA列に値を入れておく ② Code.gsのinsertNewShape...