LoginSignup
6
5

More than 5 years have passed since last update.

GASまわりのお勉強メモ

Last updated at Posted at 2014-08-10

===================================================================================

setSandboxMode

cajsの処理を省いて高速化する実験的オプション
createTemplateFromFileではつかえないみたい。

HtmlService.createTemplateFromFile

html側でgasを実行する仕組みテンプレート処理
テンプレ上ではUtilitiesがつかえなかったりするかも

テンプレートからのGASリクエスト(関数)

    google.script.run.withSuccessHandler(function(msg, element) {
        showError("正常終了", $('#button-bar'));
        element.disabled = false;
    }).withFailureHandler(function(msg, element) {
        showError(msg, $('#button-bar'));
        element.disabled = false;
    }).withUserObject(this).test();

返値はstringなので、配列などの受け渡しが必要なら、

JSON.parse(msg);

とかつかうことになる。

ボタンにスクリプトを割り振る

ボタンを設置して右クリックとかで関数を割り当てられる

開発手法についての記事

coffee scriptつかってるみたい
coffee consoleとかgas-managerも便利かな

ライブラリの活用

standard script
これにクラスとしてスクリプトをつくっていく。。
メニューやアイテムとしての呼び出しができないっぽい?
addmenuとかadditemにグローバルの冠数詞か指定できないのかな。

ドキュメントが前より充実してるみたい

アプリケーションとして公開

DBがかなり弱かったりデバッグが厳しかったりするらしい。
うーん。ちょっとしたビューの作成くらいかな。

Google I/O で発表された GAS の新機能で Web アプリを作ってみた - WebOS Goodies
http://goo.gl/Xk6zZ

deployの方法

シートのスクリプトには対応していないのですぐには実践できないけど試してみた。
おお、動いたー。本当は、こういうの(gas-manager)を使った方法にした方がいいな。

「gas init -P」でプロジェクト設定できるけど、
srcとかtestとか環境をつくる場合には手動で設定ファイルをいじるのかな。

加えて、フォーラムにあるようにするといいのだろう。

Libraryプロジェクトをdev modeで読み込めば、
Libraryプロジェクトを更新すれば自動で
webアプリケーションが更新されるという形は可能です。

トリガーの外部化などのテクニックを使えばかなりライブラリ側にコードを寄せられるはずです。

参考

Google I/O で発表された GAS の新機能で Web アプリを作ってみた - WebOS Goodies
http://goo.gl/Xk6zZ

Google Apps Scriptのソースコードの構成管理について - Google グループ
https://goo.gl/UH7xhS

joestump/python-gas-cli
https://goo.gl/0vDPMD

soundTricker/ScriptManager
https://goo.gl/wzHKmW

soundTricker/gas-manager
https://goo.gl/NsB4ja

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5