GASでWEBアプリを作ろう②

前回は一箇所だけ変数値が入ったWebページが表示されるWEBアプリまで作成しました。

とはいえ、アクセスする度に同じページが表示されるのでほぼ固定ページですね…
条件分岐(if~else~)と繰り返し(for~)を使ってもう少し動的なページが表示される様に追加していきます。

前回のコードを改修

早速GASのコード

リクエストパラメータとして名前を受け取る事と、
ページに表示するための個人情報リストを2次元配列として生成しています。
※このデータは疑似個人情報データ生成サービスで作成しました。

動的Htmlファイル

次にテンプレートとして使うHello.htmlのコード

8行目~12行目はnameと言う名前の変数が設定されていた場合は
「こんにちは○○さん」と表示、
設定されていなかった場合は「ようこそ」と表示。

15行目~23行目で(疑似)個人情報リストを表示しています。
個人情報リストの1行目に項目名が格納されているので、
1行目はthタグ、2行目移行はtdタグでデータを囲む様にしています。

実際に動かしてみる

●公開URLへアクセス(パラメータ無し)の表示結果

●nameパラメータ有りで公開URLへアクセスした表示結果
 [exec?name=タイガ]

データをスプレッドシートから取得する様に修正

条件分岐で表示する内容を変更したり、
リスト形式のデータを表示するコードが書けたのですが、
表示するデータをGASコードに直接書くのは格好良くない!

スプレッドシートから読み取る様に修正してみましょう。

4行目でスプレットシートを取得。
5行目でスプレットシートからアクティブシートを取得。

7行目でB1:F11(下図参考)範囲のデータを2次元配列として取得しています。

因みにHello.htmlは変更有りません。

実行結果はこんな感じ

生年月日の表示がスプレットシートの表示とは違う表示形式になっていますが、
日にちが異なっているわけでは無いので良しとしましょうか。

GASのHTMLファイルで条件分岐、繰り返しを使った動的ページ表示やっていきました。
次は生年月日の表示を変えていきたいなぁというのと、
スプレットシートからの読み取りだけでなく書き込みもやっていこうと思います。

 

【追記】

SpreadsheetAppを使ってスプレットシートへアクセスするにはアプリの認証が必要となります。
初回実行(公開)時に次のようなダイアログが表示されるので、アクセス許可してください。

コメント