Google Apps Script概要説明!5分で分かるGAS初心者向け入門

Google Apps Script(GAS)というプログラミング言語を利用するユーザーが増えています。Google Apps Scriptはどういった言語なのか?その利用用途や使いやすいポイントについて、初心者にも分かりやすく解説したいと思います。

 

Google Apps ScriptはGoogle提供のスクリプトサービス

Google Apps ScriptはGoogle社が提供するスクリプトサービスです。Googleがもつクラウド上で実行するスクリプト言語で、Googleが提供するサービスと連携し、スクリプトを記述することにより、様々な処理を行うことができます。

Google Apps Scriptのロゴ

Google公式の人によると、Google Apps Scriptの読み方は「グーグルアップススクリプト」です。少し長いので、頭文字を取ってGAS(ガス)と略称で呼ぶことが多いです。

2009年にGoogle Apps Scriptはリリースされ、今も改良が続けられています。

 

GASはJavascriptをベースに開発

Google Apps Script(GAS)はJavascriptがベースに作られています。基本的な文法や命令文はJavascriptと共通しています。そのため、Javascriptを利用しているユーザーにとっては非常に扱いやすい言語です。

ただ、GASにはJavascriptのコマンドの中でも一部利用不可なものがあります。その代わり、Googleサービス用に独自のコマンドも用意されています。

 

スプレッドシートやフォームと高い親和性

Google Apps Script(GAS)はGoogleのクラウドサービスであるスプレッドシートやフォームと高い親和性を発揮します。

Googleスプレッドシートの画面

  • スプレッドシートに入力した情報をGoogle Apps Scriptで複雑な処理を加える
  • Googleフォームに入力された情報をGoogle Apps Scriptでスプレッドシートに格納する

特にスプレッドシートで使われる事例が多く、その使われ方からMicrosoftのエクセルで使うVBAに近いと言われます。しかし、VBA以上に優れたメリットをGoogle Apps Scriptは持っています。

 

Google Apps Scriptのメリット

Google Apps Scriptのメリットはたくさんありますが、大きなものとしては以下3つが挙げられます。

①サーバーレスで実行可能な環境

Google Apps Scriptの大きなメリットは、作成したスクリプトがGoogleのクラウドサービス上で稼働することです。

  • 1日1回や〇分間隔などのタイマー実行
  • 特定の条件によるトリガー実行

といった形でスクリプト処理を実行することができます。通常こうした実行を行うためには、パソコンを常時起動しておくか、サーバーでスクリプト処理を実行する必要があります。サーバーを用意するためにはサーバーの設定も必要です。

しかし、Google Apps Scriptではそうしたサーバーやパソコンなどのローカル環境を起動して置く必要はありません。サーバーレスで実行することができます。

②Googleサービスと連携しやすい

Google Apps Scriptは、Googleサービスと連携してスクリプト処理を実行することができます。スプレッドシートやフォーム以外にも、APIを利用することで、スライドやGoogleドキュメントと連携も用意に可能です。

Googleが提供するビジネス系サービス一覧

個人的には、サイト運営では必須の分析ツール「Google Analytics」と連携しやすい点が最も便利と感じています。Googleアナリティクスの数値を監視して、設定値を超えたらお知らせを流すといった処理も簡単に実装できます。

③無料で利用が可能

これもGoogle Apps Scriptの大きな魅力・メリットです。通常こうしたクラウドサービスは有料なのですが、無料で利用でき、導入コストがありません。

社内導入にあたっても手続き等が発生しないので、すぐに始められます。

 

Google Apps Scriptのデメリット

素晴らしいポイントばかり紹介してきたGoogle Apps Scriptにもいくつかのデメリットがあります。そのうちよく言われる3つについて紹介したいと思います。

①スクリプトの実行時間が6分までに制限

Google Apps Scriptsの最も大きな制約事項と言われるのがスクリプト実行時間が6分に制限されている点です。スクリプトで記述した処理が完了するまでに6分を超えてしまった場合、実行プログラムが強制終了になり、エラーします。

そのため、負荷の大きい処理は分散させたり、処理に工夫することが求められます。必然的にバッチ処理のような実行時間の長い処理はできません。

②各種処理回数が1日に上限

Google Apps Scriptではメールを送信したり、Googleカレンダーのイベントを登録したり、URL情報をスクレイピングすることができます。しかし、それぞれに1日に実行できる回数が制限されています。制限された回数以上を実行すると、その部分の処理が稼働しなくなります。

こうした点からGoogle Apps Scriptは大規模な処理には向いていないプログラミング言語です。もし、大規模な処理や大量のページをスクレイピングしたいというニーズがある場合は、他の言語を検討する必要があります。

 

Google Apps Scriptでできること

これまでGoogle Apps Scriptを使って色々なプログラムを作ってきましたので、どのようなことがGoogle Apps Scriptでできるか紹介します。

  1. スプレッドシートで関数では難しい処理をGASで実装
  2. 与えられた条件に従って、パーソナライズされた内容のメールを送信
  3. Googleドライブに格納されたファイルをメール添付して送信
  4. Google AnalyticsのレポートをSlackに通知
  5. 毎日のヤフーのアクセスランキング記事をスクレイピングしスプレッドシートに記録
  6. Googleアナリティクスからアクセス数の多い記事を抽出し、Twitterに投稿
  7. Backlogなどのサービスと連携した情報分析

Google Apps Scriptのスクリプトエディタ画面例

スプレッドシートの処理から、Slack連携、Twitter投稿など色々なところでGASを活用することができます。

制約事項はありますが、その中でどう実装するか、工夫するのも楽しいポイントです。

 

本記事のまとめ

  • Google Apps Scriptはグーグル提供のサーバレススクリプト(Javascriptベース)
  • スプレッドシートやフォーム、アナリティクスなどのGoogleサービスと親和性が高い
  • 実行時間や各種処理の実行回数に制限があり、バッチ処理や大規模な処理に不向き
  • GASで様々なサービスと連携して、色々なツールや自動化が実現可能