yuji0602’s blog

日々思っていることなど。

Google Apps ScriptのCLIツール『clasp』を使ってみた

Google Apps Scriptをローカル環境で管理できるものがあるようですね。

claspとは

github.com

Command Line Interface using clasp  |  Apps Script  |  Google Developers

claspは、Apps Scriptプラットフォームとは別のオープンソースツールで、Apps Scriptエディタではなく、端末からApps Scriptプロジェクトを開発および管理することができます。

ローカル環境でGoogle Apps Scriptを触れるのは便利そうなので試してみます。

実際に使ってみる

インストール

$ npm install @google/clasp -g

Login

これを実行するとブラウザにて認証認可画面が表示されるようでした。

$ clasp login

f:id:yuji0602:20180730120155p:plain

許可をすると利用できるようになるようです。

新規Apps Script作成

新規で作成するとエラーになりました。

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

https://script.google.com/home/usersettings を表示すると設定画面に遷移します。

設定画面では、Google Apps Script APIがオフになっているようなのでオンに変更して再度コマンドを実行します。

$ clasp create clasp_test
Created new script: https://script.google.com/d/XXXXXX-xxxxxxxxxxxx_XXXXXXXXXXXXXXXXXXXXXX/edit
Cloned 1 file.
└─ appsscript.json

無事作成できたようです。(XXXXXがたくさん書いている部分はスクリプトIDになっています。)

f:id:yuji0602:20180730120240p:plain

ファイル作成と反映

とりあえずhello.jsというファイルを作成してみます。

function hello() {
  Logger.log('Hello World!')
}

作成後に、以下を実行するとコードが反映されるようでした。

$ clasp push

deployをするとバージョンが付与されるようでした。

$ clasp versions
No deployed versions of script.
$ clasp deploy
Created version 1.
- XXXXXXXXXX_1zzzxVzCCuSEFwPUr0rRVBwUcoYIR4OqIiIzS79EtE3Z4Ssqme4-EabkXjS7WfX @1.
------------------------------------------------------------
$ clasp versions 
~ 1 Version ~
1 - (no description)

既に存在するプロジェクトをcloneする

既に作成しているGoogle Apps Scriptをcloneすることが出来るようです。

$ clasp clone <scriptId>

cloneした後にブラウザ側で修正してしまった場合とかはpullすると良さそうでした。

$ clasp pull

まとめ

軽く使ってみたくらいですがだいぶ便利に使えそうな感じがしました。開発環境で作業できるということなので、gitで管理するのもだいぶ楽になりそうでした。慣れた環境で作成できるのはストレスが減るので本当にいいですね。