GDG京都さんとKyotoGASさんが主催する勉強会に行って来ました。
正直なところ今更感、漂う感じの記事ですが気にしないでください。
実は、用事があって関西に行っていたのです。
以下にメモを記載します。。。
GASとは
大雑把に言うとMSOfficeのVBAみたいなもの
- JS 1.8Base(既存のJS資産が使える)
- サーバサイド実行
- Googleのサービスと連携できるAPIがいっぱいある
- GoogleAppsの拡張
- Advanced Google Serviceが利用(API Keyが必要)
- Charts(グラフ)
- JDBCでクラウドSQL利用可
- ウェブアプリケーションの作成が可能
- スクリプトトリガーで、任意or一定間隔でスクリプト実行できる
制限
主にあげられる制限
- メールの本数など(GoogleAppsのユーザーや一般ユーザーの違いなど)
その他
- GAEよりもお手軽にできる
- ソースの共有(ソースの共有を設定していれば)
- GAEよりも制限がゆるい
AppsScriptとクラウドBPM
- GASの学習コストは低い
- GAS自身に足りないところはSpreadSheetで補う(最適な方法)
- サーバ処理、クライアント処理の連携がよい
連携例
1.Sheetでマスタ管理
(連携例) サイト<->GAS(処理を実施)<->SpreadSheat
JSONPでデータを返してやればサイト側でJS処理をするだけでよい
問題
- JSとGASお通信でクロスドメイン問題
- ブラウザの設定だけでやると戻すデータがカラになってしまう
2.リアルタイム集計
(連携例) サイト<->GAS(処理を実施)<->SpreadSheat
データ送信してSheetで集計
3.帳票出力
(連携例) サイト<->GAS(処理を実施)<->SpreadSheat
SpreadSheetを利用して、帳票を出す
4.一括処理
(連携例) SpreadSheetからGASに投げ、GASからサイトのAPIを実行する
定期実行をするようにしてやる
5.Googleカレンダー連携
- キーワードをGASで取得してやる
考慮点
- セキュリティ(サーバからアクセスするので、GoogleApps認証ができない、Keyというパラメータをもたせる)
- 運用監視(ログをspreadSheetへ)
- エラーの発生を極力回避するようにする
GASを使用していて困るところ
- ソースコードの構成管理
- httpリクエストのデバッグ(実際に手動で実行してみてリクエストを送信するしかない)
- IP制限がない
- 予期せぬエラーが出た場合の対処
GoogleAppsScriptを積極活用
GAS+SpreadSheetがすごいという事例紹介 特に以下がやりやすい
- GASで勤怠管理
- 集客ツール
勤怠管理
- SpreadSheetをDBのように扱う
- SpreadSheetの変更管理が大変(ユーザーが大変)
- 受託ではやらないほうがいいかもしれない。(予期せぬ問題が起きたときの解析などが大変)
- プログラムが得意ではない人でもGASは使いやすい(Excelユーザ向け)
- 各種GoogleServiceとの連携に向いている
GoogleAppsScriptの新機能
GoogleAppSAPIは以下の使用方法がある
- DATA API
- AppsScript
GAE vs GAS
- 速さGAE
- 柔軟GAE(なんでもできる)
- お仕事GAE(GASは不安定)
- お手軽GAS(GAEよりも圧倒的に楽にアプリが組める)
GAS
- Forms + GAS
- Documents + GAS
- new UI Component(Dialog,sidebar)
- GoogleDriveIntegration
新しくFormsにToolsというメニュー項目が追加
GASからフォーム作る
ソースから新しくFormを作成するソースコード
- フォームの作成
- メールの送信
- ログ出力
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
Document + GAS
- 文章の構造化(DOM構造みたいにItemとか)を制御できるようになった
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
ダイアログ表示
1 2 3 4 |
|
サイドバー表示
1 2 3 4 |
|
DriveSDKを使う
以下のようなコードでGoogleDriveを操作できる
- ファイル名取得
- ファイルをゴミ箱へ送る
- ファイルへアクセス権を追加
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
質問
- 補完は出ないときは、一回保存して開き直すとかで対処(リファレンス読み直せばいい)
- GASでプレゼンテーションは操作できない(予定もない)
- GASで作ったファイルはドライブに保存される
- FormはSpreadSheetにプログラムでひもづけることもできる