JSLOVE
@JSLOVE (american tarou)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

HTMLファイルから、GASを経由して、スプレッドシートに情報を保存するやり方。

HTMLファイルから、GASを経由して、スプレッドシートに情報を保存するやり方。

とりあえずいろんな記事を読んで、スプレッドしーとに書いている内容を、HTMLファイルのほうのログに表示することができたが、その逆のやり方がわからない。
例)HTMLファイル内に、フォームを用意する。そのフォームの値を取得して、スプレッドシートに保存。もうひとつのボタンを押すと、スプレッドシートに書いてある情報を読みとって、ログに表示、のような。

一応、回答しやすくするように、作ることができたほうのコードを載せておきます。

HTML

<!DOCTYPE html>
<html>
    <head>
    </head>
    <body>
        <script>
            fetch('https://script.google.com/macros/s/~~~~~~~~~/exec',{method:"GET",}).then(response => response.text())
.then(text => {
  // 取得した値をコンソールに出力
  console.log(text);
}
)
        </script>
    </body>
</html>

途中、改行がおかしなことになっていますが、そこのところはお許しを。

GAS

function doGet(e){
  var oo=SpreadsheetApp.openById('~~~~~~~~~').getSheetByName("シート1").getRange('A1:A6').getValues();
  Logger.log(oo);
  return ContentService.createTextOutput(oo).setMimeType(ContentService.MimeType.TEXT);
}

SpreadSheet
image.png

結果(ログの出力)

三原,三次,広島,江田島,東広島,西条町
0

1Answer

doPostを作りHTML側からpostすれば良いように思われます。
参考→ https://breezegroup.co.jp/201906/gas-get/
(自分の場合はapiが苦手なので、GAS側でスプレッドシートに書き込む関数を定義して、HTML側のJSから呼び出して処理するように実装しますが…)

0Like

Your answer might help someone💌