【GASライブラリ作成】自作スクリプトをライブラリ化して公開する方法

2021-01-28

【GASライブラリ作成】自作スクリプトをライブラリ化して公開する方法
mono
mono
こんにちは、monoです。

この記事では「GASで作ったスクリプトをライブラリとして公開(ライブラリ化)する方法」について解説します。

GASで自作スクリプトをライブラリ化したい人の参考になれば幸いです。

 command

GASのライブラリ作成方法は2種類ある

GASのスクリプトをライブラリ化する方法は大きく2つあります。

  1. コンテナバインド方式
  2. スタンドアロン方式

それぞれどのような方法なのか、1つずつ解説します。

コンテナバインド方式

1つ目の方法は「コンテナバインド方式」と呼ばれる方法です。

いわゆる「スプレッドシートやGoogleドキュメントに紐付けられたスクリプト」をライブラリ化したい場合に使います。

GCPでプロジェクトを紐付ける必要があるのでやや面倒です。一方で、操作対象のスプレッドシートやGoogleドキュメントの設定は簡単です。

スタンドアロン方式

2つ目の方法は「スタンドアロン方式」と呼ばれる方法です。

コンテナバインド方式とは対象的に「単体のGASファイルとして存在しているスクリプト」をライブラリ化したい場合に使います。

GCPでプロジェクトを紐付ける必要がないので簡単にライブラリ化できます。一方で、操作対象のスプレッドシートやGoogleドキュメントを設定するスクリプトを書かないといけないのがやや面倒です。

コンテナバインド方式でGASをライブラリ化する方法

コンテナバインド方式でGASをライブラリ化する際には、以下の5つの手順で公開します。

  1. 共通利用したい関数を「.gsファイル」で作成
  2. プロジェクトをGCPに紐付ける
  3. 「版を管理」でバージョンを設定
  4. 「実行可能APIとして導入」として公開
  5. ライブラリでスクリプトIDを追加

共通利用したい関数を「.gsファイル」で作成

「.gsファイル」というのは、普通にGASをを開いたときにスクリプトを記述しているファイルのことです。

特に何かする必要はありませんので、普通にライブラリとして公開したいスクリプトを用意すればOKです。

プロジェクトをGCPに紐付ける

ここが非エンジニアの方だと少しややこしいかもしれません。

GCPと.gsファイルの紐付けは、以下の手順で行います。

  1. GCPのコンソールに移動
  2. プロジェクトを1つ用意する
  3. 「Project Number」の数字を確認
  4. GASのスクリプトエディタに戻る
  5. 「リソース」→「cloud platformのプロジェクト」を選択
  6. プロジェクト番号(Project Number)を入力
  7. 紐付けが承認されたら完了

「版を管理」でバージョンを設定

個人利用で編集後のスクリプトを利用するには「保存」すれば完了です。

しかし、ライブラリとして公開しているスクリプトについては保存とは別に、「版を管理」で公開中のバージョンを設定する必要があります。

バージョン管理をすることで、安易にスクリプトを変更してエラーになっても、しっかり動くバージョンへの戻しが容易なわけですね。

「実行可能APIとして導入」として公開

「版を管理」でバージョンが設定できたら、最後に「公開」→「実行可能APIとして導入」をクリックして、バージョンを選択すればスクリプトをライブラリとして公開できます。

このときにスクリプトへアクセスできる権限を選べますので、任意の権限を選んで公開すればOKです。

ライブラリでスクリプトIDを追加

後は、公開したスクリプトの「スクリプトID」を、ライブラリ受け取り側のスクリプトで追加すればOKです。

以上の設定をすれば、別のGASファイルのスクリプトをライブラリとして呼び出して使用できるようになります。

スタンドアロン方式でGASをライブラリ化する方法

スタンドアロン方式でGASをライブラリ化する際には、以下の4つの手順で公開します。

  1. 共通利用したい関数を「.gsファイル」で作成
  2. 「版を管理」でバージョンを設定
  3. Googleドライブから対象ファイルを共有に設定する
  4. ライブラリでスクリプトIDを追加

上記の通り、スタンドアロン方式のライブラリ化は「GCPプロジェクトの紐付け」が不要なため、コンテナバインド方式よりも簡単です。

③の「Googleドライブから対象ファイルを共有に設定する」については、ライブラリ受け取り側のスクリプト実行者がアクセスできるようにライブラリ元のGASファイルのアクセス権限を共有しておくだけでOKです。

コンテナバインド方式とスタンドアロン方式の違い

「コンテナバインド方式」と「スタンドアロン方式」をまとめると、以下のようになります。

コンテナバインド方式 スタンドアロン方式
GCPプロジェクトの紐付け 必要 不要
Googleドライブの共有設定 不要 必要

ライブラリ化して使うなら、個人的には「スタンドアロン方式の方がおすすめ」ですね。

まとめ

今回は「GASをライブラリ化して公開する方法」について解説しました。

一度作成したGASファイルを別ファイルでも使いたい場合などにご活用ください。

では、また。

【GAS】Google Apps Scriptの勉強におすすめの本3選
  • この記事を書いた人

mono

26歳♂️関東在住のサイドFIREを目指すブロガー/座右の銘は「知識は誰にも奪われない」/ゆるく稼いで楽しく暮らすライフハック情報をお届けします/アイコンは黎(クロイ)さん。

スキルを磨く Google Apps Script

© 2021 monoblog