【GAS】スクリプトを作成するにあたっての2つのアプローチ

Google Apps Script について

Google Apps Script(GAS)は、Googleのさまざまなサービスを自動化し、拡張するための強力なツールです。
代表的なサービスとしてスプレッドシート・ドキュメント・スライド・メール等がよく自動化されています。

主にJavaScriptベースで書かれ、Googleのクラウド上で実行されます。
Google Apps Scriptを始めるにあたって、キーワードを知っている必要はありませんが「コンテナバインド型」「スタンドアロン型」の2種類のスクリプトタイプがあることを知っておくと便利かと思います。

コンテナバインド型

コンテナバインド型は特定のGoogleサービスに紐付けられる専用のスクリプトになります。
例えばGoogleのスプレッドシートでは画面上部のツールバー「拡張機能 > Apps Scirpt」を押すと、コンテナバインド型のGASが作成されます。
コンテナバインド型でのみ使えるメソッドがいくつか存在しており、よく利用するものとして「getActiveSpreadsheet()」があります。
こちらは現在操作中のスプレッドシートを取得するものになっており、スタンドアロン型では利用できません。

利点:

  • 紐づけられたサービス固有の操作
    • 紐付けられたサービスの内容/構造に直接アクセスできるため、データを効率的に扱えます。
  • ユーザー権限のシンプルさ
    • 所有者や共有者と同じ権限で実行されるため、権限管理がわかりやすいです。
  • UIとの統合
    • メニューバーやダイアログボックス、サイドバーを追加することでUIをカスタマイズできます。

制限:

  • 管理上の懸念
    • 特定のスプレッドシートやドキュメントなどに紐づくため、GoogleDrive上でスクリプトが存在するスプレッドシートなのか判断ができません。スクリプト専用の一覧ページから確認する必要があります(https://script.google.com/home

スタンドアロン型

スタンドアロン型はスプレッドシートやドキュメント等のサービスに紐付けられていない独立したスクリプトです。
これらのスクリプトはGoogle Drive上で独立したファイルとして存在し、GoogleのAPIや他のウェブサービスとの連携に利用されることが多いです。
Google Drive 上で右クリックし「その他 > Google Apps Scirpt」を選択することでファイルが作成されます。

利点:

  • 汎用性
    • 複数のドキュメントやサービスにまたがって利用できるため、パーツ毎に切り分けたりなどもできます。
      一度作成すれば様々な場面で再利用可能です。
  • 管理
    • Google Drive上でファイルとして存在するため検索ができます。
      実際のビジネスシーンでは何のGASが動いているかわからないといったケースもあり、コンテナバインド型に比べてスタンドアロン型は各利用者から見つけやすい状態になっています。

制限:

  1. : スタンドアロン型スクリプトは
  2. : コンテナバインド型ほど
  • 権限とセキュリティ
    • 権限の設定が複雑になりがちで、特に外部のAPIと連携する際はセキュリティ面での注意が必要です。
  • UI統合の制限
    • 直接的なUI統合が難しく、HTMLファイルを作成したりでViewを作成する際には工程が増えます。

まとめ

コンテナバインド型とスタンドアロン型は、それぞれ異なるニーズに応じた強みと制約を持っています。
適切に選ぶことで、Google Apps Scriptを最大限に活用し、効率的な自動化や拡張が可能になります。
プロジェクトの目的やスコープに応じて、これらの違いを理解し選択することが重要です。