Google Apps Script(GAS)でコードを書く際、ブラウザ上のApps Scriptエディタを使って開発するのが標準的です。しかし、規模が大きくなってくると「VS Codeなどの使い慣れたエディタで書きたい」「GitやGitHubでコードの変更履歴を管理したい」と感じる機会が増えてきます。
そんな悩みを解決してくれるのが、Googleが公式で提供しているコマンドラインツール「clasp(Command Line Apps Script Projects)」です。この記事では、claspの基本機能から導入手順、日常的に使う主要コマンドまでをわかりやすく解説します。
本記事のゴール
- claspの概要と導入メリットを理解できる
- ローカル環境へclaspをインストールし、Googleアカウントで認証できる
clasp create/clasp clone/clasp push/clasp pullなどの基本操作ができる- VS Code等のローカルエディタでGASを安全に開発できるようになる
clasp(Command Line Apps Script Projects)とは?
claspとは、Google Apps Scriptプロジェクトを自分のパソコン(ローカル環境)で作成・編集・管理するためのCLI(コマンドラインインターフェース)ツールです。
通常のGAS開発とclaspを使った開発の主な違いは以下の通りです。
| 比較項目 | ブラウザ上のApps Scriptエディタ | claspを使ったローカル開発 |
|---|---|---|
| 開発エディタ | ブラウザ画面 | VS Code, Cursor, WebStormなど自由 |
| バージョン管理 | 標準の履歴機能のみ | Git / GitHubで本格管理可能 |
| TypeScript対応 | 非対応 (JavaScript標準) | 標準対応(自動コンパイル機能あり) |
| 補完・拡張機能 | 限定的 | ESLint, Prettier, 各種キーバインドが使用可能 |
claspを使うための2つの事前準備
claspを利用するには、事前に以下の2つの設定を済ませておく必要があります。
1. Node.jsとnpmのインストール確認
claspはNode.jsのパッケージとして提供されています。ターミナル(Windowsの場合はPowerShellやコマンドプロンプト、Macの場合はターミナル)を開き、以下のコマンドでバージョンが表示されるか確認しましょう。
node -v
npm -v
バージョン番号(例: v18.x.x など)が表示されれば準備OKです。まだインストールされていない場合は、Node.js公式サイトからLTS(推奨版)をインストールしてください。
2. Google Apps Script APIの有効化
claspが自分のGoogleアカウント内のGASプロジェクトを操作できるようにするため、Google公式の設定ページでAPIをONにする必要があります。
- ブラウザで Google Apps Script ユーザー設定画面 にアクセスします。
- 「Google Apps Script API」の項目を探します。
- スイッチを 「オン」 に切り替えます。
注意: この設定が「オフ」のままだと、後述の
clasp pushやclasp create実行時にGoogle Apps Script API has not been used in project ...というエラーが発生します。
claspのインストールとログイン
準備ができたら、claspをPCにインストールしてGoogleアカウントと連携します。
グローバルインストール
以下のコマンドを実行し、claspをPC全体で使えるようにインストールします。
npm install -g @google/clasp
Googleアカウントでのログイン認証
インストールが完了したら、ログインコマンドを実行します。
clasp login
コマンドを実行すると自動的にブラウザが開きます。GASを利用しているGoogleアカウントを選択し、アクセス許可を承認すれば認証完了です。
claspの基本コマンド一覧と使い方
ここからは、開発時に日常的に使う5つの基本コマンドを解説します。
1. 新規プロジェクト作成: clasp create
ローカル上で新しいGASプロジェクトを立ち上げるコマンドです。
# スタンドアロン型のプロジェクトを作成
clasp create --title "マイGASプロジェクト" --type standalone
# スプレッドシートコンテナバインド型を作成したい場合
clasp create --title "シート連携GAS" --type sheet
実行すると、現在のフォルダに .clasp.json と appsscript.json が生成されます。
2. 既存プロジェクトの取得: clasp clone
既にブラウザ上で作成済みのGASプロジェクトをローカルに取り込みたい場合は clasp clone を使います。
clasp clone "あなたのScriptID"
※ ScriptID は、Apps ScriptエディタのURL https://script.google.com/home/projects/【ScriptID】/edit の部分、または「プロジェクトの設定(歯車アイコン)」から確認できます。
3. ローカルからクラウドへ送信: clasp push
ローカルで修正したコード(.js や .ts)をGoogleクラウド上のApps Scriptエディタへアップロードします。
clasp push
TypeScript(.ts ファイル)で記述している場合、clasp push 時に自動的にJavaScript(.gs)へとコンパイルされて同期されます。
4. クラウドからローカルへ取得: clasp pull
ブラウザ上のApps Scriptエディタで直接変更したコードを、ローカルへダウンロードして同期します。
clasp pull
注意:
clasp pullを実行すると、ローカルにあるコードがクラウド側のコードで強制的に上書きされます。ローカルで未保存・未コミットのコードがある場合は注意してください。
5. エディタをブラウザで開く: clasp open
ターミナルから一発でブラウザのApps Scriptエディタを開く便利コマンドです。
clasp open
理解しておきたい3つの設定ファイル
claspプロジェクト内で生成される主要なファイルとその役割です。
- .clasp.json: コネクション設定ファイル。連携対象の
scriptIdやローカルのルートフォルダ (rootDir) を指定します。 - appsscript.json: GASのマニフェストファイル。タイムゾーン(
Asia/Tokyo)や認証スコープなどを管理します。 - .claspignore:
clasp pushする際にGoogle側へアップロードしたくないファイル(.git、node_modules、README.mdなど)を指定するファイルです。
まとめ: claspを活用してGAS開発を効率化しよう
claspを導入することで、これまでブラウザ上で行っていたGAS開発を VS Codeなどの強力なローカルエディタ+Git管理 の環境へと昇華させることができます。
最初は clasp login や clasp push / clasp pull のフローに慣れることから始め、徐々にGit連携やTypeScript導入へとステップアップしていきましょう!
