Press "Enter" to skip to content

[GAS]HTMLや権限についてのあれこれ

wyosis 0

最近GoogleAppsScript(GAS)をよく用いるが、所々詰まったのでメモしておく。
※ソースコードは別アプリケーションとして作ったものを公開用に改変したもの。動作確認はしてないです

1.HTML⇔GSでのデータのやり取り

想定している動作は以下の通り、

  1. ホームページにアクセス
  2. 名前を入力し、送信をクリック
  3. 別のページに遷移し、名前を表示する

ホームページ(index.html)は次のようになる。

部品としては名前を入力するボックスとハイパーリンクだけ。
jQueryを導入して、scriptタグにボックスに名前が入力されたらリンク先を変更するプログラムを書く。変更するのは?以降のnameパラメータだけ。https://script.google.com/macros/s/xxxxx/devは同じなので、ホームページにアクセスしたときと同じdoGetが呼ばれる(次参照)。

GASは1アプリケーション1ページが原則で、複数のhtmlを扱う場合はパラメータを活用する。パラメータはdoGetの引数(今回はreq).parameters.<パラメータ名>で取得できる。今回の例だと、

  • cmd:html分岐
  • name:名前

html側に値を渡す場合はevaluateするやつ(output)に.nameのようにして値を持たせる。
htmlが受け取るのは次の通り。

で囲んだ変数はその中身が表示される。もちろん<? name=”AAA” ?>と事前に打っておけばそれが表示される。

外部からGASを使う(アプリケーションの公開)

公開>webアプリケーションとして導入>全員に公開 のようにすれば公開できるのは知ってたが実際にアクセスすると認証を求められた。そこでファイル>共有>リンクを知っている全員が「編集可」とすると認証いらずで実行できた。これがわからずに一部部分をAPI化したり無駄に時間を使ってしまった…。スプレッドシートやFusionTablesを使う場合はそちらも適切な共有設定にしたほうがいいのかもしれない。

コメントを残す

メールアドレスが公開されることはありません。