claspを使ってGASをローカル管理する

Google Apps Script通称GASを利用されている方は多いのではないでしょうか。 デフォルトだとブラウザ上でコーディングすることになりますが、使い慣れたローカル環境でコーディングをしたくなるのがエンジニアの性というもの。 今回はclaspを使ってGASをローカル管理する方法をご紹介します。

前提条件

  • GASプロジェクト作成済み

ライブラリのインストール

@google/claspをインストールします。

npm i @google/clasp -g

Googleアカウントにログイン

GASソースをローカルに取得するには、あらかじめGoogleアカウントにログインする必要がある。 下記コマンドを実行し、ログインする。

clasp login

各種権限の取得を求められるので、全て「OK」とする。

ローカルへpull

pullする場合はスクリプトIDをあらかじめ取得しておく。

プロジェクトIDの取得

[ファイル]→[プロジェクトのプロパティ]で取得できる。

pull実行

clasp clonepullが行える。

clasp clone { Script ID }

ローカルからpush

pushする場合はclasp pushで行う。 .clasp.jsonが存在するディレクトリ下で下記を実行する。

clasp push

push範囲の指定

一部ソースのみpushする場合、.clasp.jsonで指定するとよい。 例えば、下記のように設定するとcode下を対象にpullpushを行う。

.clasp.json
{
  "scriptId":"{ Script ID }",
  "rootDir": "code"
}

エラー発生時

下記のようなエラーが発生する場合がある。

Error: Permission denied. Enable the Apps Script API:
https://script.google.com/home/usersettings

この場合、表示に従いGASユーザ設定を開き、Google Apps Script APIONにすると解決する。

まとめ

今回はclaspを使って既存のGASをローカル環境へpullし、ローカル環境からpushする方法を紹介しました。 応用として、Git等を絡めて管理することも可能かと思います。

参考

SNSでシェアする