見出し画像

プログラミングを勉強します48日目:200510

前回までの振り返り
■前回の外部設計
https://note.com/daichan_dream/n/n09f74decd548
■前回の内部設計
https://note.com/daichan_dream/n/n09f74decd548
■アウトプットイメージ
https://note.com/daichan_dream/n/n2ab044382c9b

昨日はスプレットシートの内容をネット上に公開できるようになりました。
今日はWEB上をインプット形式の表をまずWEB上に
公開できるようにしていきます。

■Google Apps Scriptで簡単にWebアプリケーションを公開する方法
https://www.indetail.co.jp/blog/181219/
上記のサイトを見て入力フォームを作成しようとしたのですが、
結果としてまた壁にぶつかりました。
ということで今日のできたところまでアップします。

上記サイトと同じようにスプレットシートの内容を作成しました。
そしてGASとHTMLのコードをコピペして下記のような状態にしました。

■GAS

function doGet() {
 // 表示したいHTMLのファイル名を指定(拡張子は記載しない)
 return HtmlService.createTemplateFromFile("index").evaluate();
}

function doPost(e) {
 
 // シートを取得
 var sheet = getSheet('シート名');
 
 // シートの最終行を取得
 var lastRow = sheet.getLastRow();
 
 // 最終行にデータ挿入
 // 「e.parameter.フォーム名」 でフォームから送信されたパラメータを受け取ることができます
 sheet.appendRow([lastRow, e.parameter.value, new Date(), e.parameter.name]);
 
 // スプレッドシートのデータ挿入後、元の画面に戻す
 return HtmlService.createTemplateFromFile("index").evaluate();
}

function getSheet(name){
 
 // SSIDからスプレッドシートの取得
 var ssId = '1DxWdp3kWp2EWPwLGurZO8HV6EmxChTHHXkhzdrBCz9o';
 var ss = SpreadsheetApp.openById(ssId);

 // 指定されたシート名からシートを取得して返却
 var sheet = ss.getSheetByName(name);
 return sheet;
}

function getData() {
 
 // 指定したシートからデータを取得
 var values = getSheet('シート名').getDataRange().getValues();

 return values;
}

■HTML

<!DOCTYPE html>
<html>
 <head>
   <base target="_top">
   <style>
     table{
       border: solid 1px #000000;
       border-collapse: collapse;
     }
     th {border: solid 1px #000000}
     td {border: solid 1px #000000}
   </style>
 </head>
 <body>
   <h2>Hello World</h2>
   <form method="post" action="公開時のアプリケーションのURLを入れる">
   
     <label>name:<input type="text" name="name"></label>
   
   
     <label>value:<input type="text" name="value"></label>
   
   
     <input type="submit" value="送信する">
   
   </form>
 </body>
</html>

最初は丸々コピペしていたものの、なぜかHTMLの最後の方の
『スプレットシートからデータを取得』でずっとエラーが出ていたので
消してみました。するとちゃんと下記のようなフォームがネット上に
表示されました。

キャプチャ

これでうまくいったと思って、それぞれ入力して送信すると
下記のようなエラーが出てきました。

キャプチャ1

スプレットシートID、シート名も入れてますがなぜか、
スプレットシートに貯まりません。うーん。今日はここまでにして
明日以降に頑張ります!

いいなと思ったら応援しよう!