はじめに
この記事は「Ateam LifeDesign Advent Calendar 2023」で完走賞を狙って25記事書いているうちの1日目の記事です。今年も完走目指して頑張るぞ!
GASってなぁに?
GASとはGoogle Apps Scriptの略でGoogleが提供してるアプリケーション開発のプラットフォームです。ウェブブラウザ上で動作するので、開発環境構築せずともアプリケーションが作れるので便利。またGASを使うと、様々なGoogle製品上(GmailやGoogleカレンダー、スプレッドシートやドライブなど)で処理をおこなったり、それらサービスを連携させることが、とてもとても簡単にできます。またAPIを使って外部サービスとの連携や簡単なウェブアプリケーションを作って公開することもできます。
個人的に触ってて一番感動したのはウェブアプリケーションでした。感動ポイントはデプロイの容易さ。GASで作ったウェブアプリケーションは script.google.com 上にボタン一つでデプロイすることができます。なので自分で追加で公開用のサーバを用意する必要がないままアプリケーションを公開することが出来ます。もちろんいろいろ制限はありますが、でもほんとすごい。
それぞれ具体的にどんなものが作れるのか例をあげて紹介していきます。
具体例
Google製品上でのスクリプトや製品同士の連携
- Googleフォームを使った予約システム。
- 予約が完了するとメールが送信され、Googleカレンダーに登録される。
- また予約が埋まった枠はフォームから選択肢として削除される。
- スプレッドシートを使った在庫管理システム。
- シート管理してる商品の中で在庫が一定数以下になったらメールでアラートを送信。
外部サービスとの連携
- スプレッドシートに記載されたURLリストへスクレイピングをして実行結果をシートに記述
- GASとLINEのMessagingAPIを連携し簡単なチャットボットの作成
- スプレッドシートに記載された内容を定期的に確認し、不備があれば担当者へSlackで通知する
- Googleフォームで回答された内容をトリガーに、一定の条件だった場合のみSlackで通知する
作り方
それでは実際にGASに触れていきましょう。
GASには「コンテナバインド型」と「スタンドアロン型」の2種類の作り方があります。
コンテナバインド型はGoogle製品(スプレッドシートやドキュメントやフォームなど)に紐付けて作る方法、スタンドアロン型はそれらとは完全に独立してスクリプトだけを切り離した作り方です。スタンドアロン型の場合はライブラリとして切り出して他のスクリプトから共通して呼び出すという使い方もできます。
基本的に双方大きな違いはありませんが(使えるメソッドが若干異なる程度)
コンテナバインド型の場合は、スクリプトの書かれたGoogle製品を共有すると一緒にスクリプトも共有されてしまうため、スクリプトを隠しておきたい場合はスタンドアロン型を選択するほうが良いです。
コンテナバインド型の作り方
まず紐づけを行いたいGoogleサービスを開いて(今回はスプレッドシートを例にあげます)「拡張機能内」から「Apps Script」を選択します。
すると、エディタが出てくるのでここにコードを記述していきます。
スタンドアロン型の作り方
Googleドライブにアクセスし、左上の「新規」ボタンをクリック。「その他」から「Google Apps Script」を選択します。
コンテナバインド型同様、エディタが出てくるのでここにコードを記述していきます。
とりあえず Hello World しておく
まずはエディタにスクリプトを記述し保存アイコンをクリック。
function myFunction() {
Logger.log("Hello World");
}
「実行」を押すと無事にHello World完了。
最後に
いかがでしたか?なんか簡単にいろんなものが作れそうっていうのが伝わるといいなと思います。
明日はGASを使う上で比較的よく利用するセルの操作について見ていこうと思います。