DTPab

DTPにまつわるあれこれ

TokyoGAS on GCPUG 2018 Springに参加しました

f:id:uske_S:20180404151047j:plain

Google Apps Scriptのイベントに参加してきました。僕自身はそんなにGASを書いていませんし、APIなんかも叩いてないので初級者もいいとこですが、それでもこんな面白そうなイベントを紹介していただいたのでワクワクしながら行ってきました。
僕自身は普段、ExtendScript*1スクリプト開発が多いですが、GASも同じJavaScriptで動くし、何より様々なサービスを横断して使えるところに大きな魅力があります。
もっともっとGASは食い込んでいきたいとこです!

イベントでの収穫

なんだかんだ分からないことだらけでしたが、「これは分かるぞ!いいな!」とか、「これは面白そうだからやってみよう!」みたいなのはけっこうありました。以下、順不同に殴り書きのメモより。

  • GASはECMAScript 5準拠
  • Add-ons作ってみたい(特にGmail Add-ons)
  • Stuckdriver Error Reportingめっちゃ便利
  • script.google.comでスクリプト管理しよう
  • SlideとSheetsの連携もワクワクが止まらない
  • manifestにJSONを記述することで設定を管理できる
  • DataStudioがすげー面白そう(自分でGoogle Analyticsみたいな統計画面が作れる)
  • clasp…いいかも…
  • GASには時間制限がある
  • codelabsも覗いてみよう
  • GAS Stationにめっちゃ興味湧いた

すごい雑なメモですみませんw

ES5

ExtendScriptと違って、新しいJavaScriptでコーディングできます*2
一方、Google Sheetの中身自体は恐らくJavaで書かれているだろう、というのが登壇者のひとりでGASウォッチャーのさんとりーさんのお話でした。
ES5ではJSONが使えるようになっているし(JSON.parseJSON.stringify)、配列に便利なメソッドが多数入っています(forEachmapfilterreduceなど)。楽しい。

Add-onsがGASで作れる

SheetやGmailで使えるAdd-onsが自分で作れます!楽しそう!
Gmailで紹介されていたのは、

  • 受信したメールの差出人と過去に交わしたメール内容を一覧表示
  • 過去の受注履歴から特定の情報を抽出

みたいなことで、「いま表示しているもの(メール)と紐づく情報を引っ張り出してくる」ことができます。いろんなシーンに役立てることができそうです。

Stuckdriver Error Reporting

GASでLogger.log("hoge")とするとログを吐き出せるのですが、吐き出したログは一体どこへ…?とかいろいろ不便でした。Google CloudのStuckdriver Error Reportingを利用すれば、リアルタイムに例外をモニタリングすることができるようです。
とは言っても僕のような非開発者にはGoogle Cloud導入からスタートになるのですが…。

cloud.google.com

script.google.com

ここからスクリプトを管理できる!もっと早く知りたかった〜〜〜!

Apps Script – Google Apps Script

SlidesとSheetsで連携

Google SlidesにもAPIが追加されており、Sheetsと連携したスライドの自動生成などもできるそうです。要するにInDesignのデータ結合みたいなことをSlidesでもできちゃうってこと。ちょっと使い途を探ってみたい。

manifest管理

manifestを知らなかったので、公式読んで勉強します〜!

Manifests  |  Apps Script  |  Google Developers

Google Data Studio

cloud.google.com

面白そう…そして超やってみたい…。

clasp

GASをローカル環境で開発する際の必須?ツール。登壇者のさんとりーさんは主にGASで開発しているそうです。というのも、ローカルで開発してGASにアップしたけど、GAS上で手直ししてローカルのコードが古いままになってしまう、というリスクがあるからだそうです。
それともう一つ、GASで管理できないくらいの大規模なコードはGASで書くべきではない、とも言っていました。

clasp - The Apps Script CLI

時間制限

GASには連続稼働時間制限みたいなものがあって、6分以上は動きません。それを回避するにはちょっと斜め上な(しかし面白い)方法があるらしいのですが、それについてはググるとたくさん出てきますので他のブログなどに譲ります。
いずれにしろ、時間制限があることは覚えておかないとですね。

codelabs

codelabsについてはこちら(英語)

codelabs.developers.google.com

Overviewはこちら(英語)

About Codelabs

サイトに行くと分かりますが、多様なプロジェクトがあるようです。面白そうですね〜。
codelabsは全部英語なのですが、実はGASは世界中で日本が最も盛んだそうです!

GAS Station

GAS Stationなるハンズオンイベントがあるらしいです!

https://gas-station.connpass.com/

さっそくメンバー登録しました。次回開催が待ち遠しいですね(ちなみに前回が2015年10月…)。

以上、こんな感じで盛りだくさんで、ここに書いたこと以外にもたくさんの情報が飛び交っていました。残念ながら僕には分からないことだらけでしたが、とにかく刺激的な2時間半でした。
次回があればまた参加したいと思います。

*1:Adobeアプリケーション上で動く、言ってしまえばAdobe独自拡張JavaScriptのこと。

*2:ECMAScript 5 (ES5) 新機能 まとめ」などを参照