@thorikiriのてょりっき

@thorikiriがWebとかAndroidとかの技術ネタや本を読んだブログです

Tokyo GAS 〜東京でのGoogle Apps Script勉強会・交流会〜 #tokyogas に行って来ました。

Google Apps の勉強会に行って来ましたよ。

以下、メモったことなどを。

事例紹介 GoogleスプレッドシートとGASでサクッと作る地域の便利マップ

  • 病院マップをGASで作りました。
    • 普通ではあれば
      • データベースに病院情報を入れて、サーバのプログラムで表示するのが一般的ですね。
      • データベースにすると、メンテナンス画面が必要になったりする。
      • それにコストがかかるので、AppsのスプレッドシートをDBの代わりに使います。
      • Excel使える人は多いので、わりと誰でも編集が可能になりますね。
    • 自動化が出来る。
    • スケジューラで自動起動も出来る。
    • スプレッドシートに住所を入れると、自動的に緯度経度を計算するスクリプト作り、それを画面で表示する。
  • 何がすごいんでしたっけ?
  • GASがすごいと思う7つのポイント
    • 1. あたかもDBとして使うことで入力の効率が高まる。
    • 2. メンテナンス画面を作らなくて良い。
    • 3. 利用者のユーザの学習コストがかからない:スプレッドシートだから
    • 4. GASがJavaScriptベースなので開発者が多い
    • 5. GoogleAppsとの組み合わせがすごすぎる
    • 6. デプロイがいらない。保存すればよい。
    • 7. トリガー(スケジューラー)が充実している。

事例紹介 見えない障害バッジ・お申込み〜発送の分散システム

  • わたしのフクシ
  • 見えない障害バッチって?
    • 外見は普通だけど、内部疾患などの障害を抱えている方がつける。
    • Twitterで2010年の秋くらいから始まりだしました。
    • http://togetter/li/68113
    • バッジをメール対応して発送するようになりました。
    • 毎日新聞Yahoo!で紹介されて1年3ヶ月で13000個配った。
    • 拠点13人の分散ボランティアチームです。
  • 仕組み
    • 申し込みは申し込みフォームから、Googleのドキュメントに上げるようにしました。
    • FormMailerのサービスを使っている。AutoReplayで。
    • 1分間に1度監視している
  • デプロイが簡単とは言え、誤ったもがそのまま動いてしまう。
  • まとめ
    • 面白いけれども、まだまだ不安定です。
    • うまく使っていけるといい。

事例紹介 GASとGmailとFusionTables

  • Communication Graph With GAS
  • 導入
    • みなさん、BigDataって持ってますか?
    • 個人レベルの人は持っていないと答えるでしょうね。
    • 一般的ではないんですよ。
    • BigDataは作れる
      • なければ作ればいい
  • BigData
    • 多くの人が持っている。メールはすごい量を持っている。例えばGmail
    • 1ヶ月に518通、12446通のメールを送受信していました。
    • 1通の中に色々なデータが入っている。
    • 例えば、文字。
    • 分解したらすごい増える。
    • Goolgeのサービスを使ってたらすごい量のデータを持っていることになるはず。
  • With GAS
    • メールの誰から誰へを表したものです。表示自体はGadgetを使っています。
    • 会社の形が見えてしまう。
    • 時間帯や曜日でピークを把握しておけば、どれだけリーチするのか。
  • メールの収集用アカウントがMLに含まれている。
    • なので、データが集まります。
    • それを1日1回収集して、FusionTablesに入れます。
    • GAS、Gadget、Sitesを使って管理している
  • なぜGASでやったのか?
    • GASは最強のGmail環境。Gmailを扱わせたら最強。
    • GmailAPIが弱い。
      • なので、AppEngineでは使えない。IMAP APIしか無いから。
    • GASとGmailは一番扱いやすい。
  • FusionTablesって?
    • 日本語情報ないよね。
    • Drive上で扱えるDB。JOINとかは出来ない。
    • SQLが使えるので、技術者からしたら簡単かもしれない。無料です。
    • しかしながら、100Mまで使える。(250Mまで大丈夫らしい)が、100Mで最適化してあるらしい。
    • FusionTablesでなくて、BigQueryでもいいです。
    • GoogleApps Vaultを利用すればもっと出来るかもしれない。
  • Gmail Mater
  • GASの6分間制限に引っかかることがある。
    • なので、トリガーをチェーンして、落ちないようにしている。
    • 5分間で終わらなかったら、自分自身を呼び出押します。
    • エラーを起こしたら、リトライ。また、5回落としたらエラーをメールで通知。
  • Fusion Table
    • ライブラリを使っている
    • BatchPut対応していなかったので、修正して使っている。
  • UI
    • Gadgetsを使って関連グラフを使っている。
    • GASでUIを使うには、UIAppとHTMLServiceがある。
    • HTMLServiceのCaja(Google)が凶悪。
      • Canvas周りにバグが多いです。SVGに関してCajaが対応していない。
    • よって、Gadgetを使っている。
      • FusionTablesが利用しているJSを利用している。難読化されているけどね。
      • GASのAPIDashboard機能を利用。
      • Pivotは対応していないので、自前で実装する必要があるよ。
  • ACLAccess Control List)
    • アクセスコントロールはSitesを利用している。
    • アクセスコントロールをGASでやるのは大変なので、GoogleSitesを利用している。簡単に出来る。
  • まとめ
    • 処理時間には期待しない。
    • UIには期待しない。
    • GASのUIは重い。

Google クラウドスクリプティング Google Apps ScriptによるGoogleパワーアップ活用ガイド

Google クラウドスクリプティング Google Apps ScriptによるGoogleパワーアップ活用ガイド