B-Teck!

お仕事からゲームまで幅広く

【GAS】claspの環境構築

nodeのインストール

  • nodebrewを入れる
$ brew install nodebrew

下記を利用してるシェルの設定に書いてPATHを通す

export PATH=$HOME/.nodebrew/current/bin:$PATH
  • nodeをインストールして設定する
# インストール可能なバージョンを確認
$ nodebrew ls-remote
$ nodebrew install-binary <version>
$ nodebrew use <version>
  • 下記でバージョンが確認できればインストール完了
$ node -v

claspのインストール

インストールはnpmコマンドで行う

$ npm i @google/clasp -g

インストール完了後、下記のコマンドを入力するとブラウザでログインを求められる。
実行するとホームディレクトリにトークンが保存された.clasprc.jsonファイルが作成される。

$ clasp login

claspでプロジェクトを管理する

初期状態ではGoogle Apps Script APIが無効になっており、プロジェクトの操作が出来ない。
Apps Script の設定画面での使用をオンにする。

clone

helpを打ってみるとこんな感じ。

-> % clasp clone --help
Usage: clasp clone [options] [scriptId] [versionNumber]

Clone a project

Options:
  --rootDir <rootDir>  Local root directory in which clasp will store your project files.
  -h, --help           output usage information

ここで言う scriptId はプロジェクトの編集画面のURLの下記の部分。

  • 旧エディタ https://script.google.com/d/<scriptId>/edit

  • 新エディタ https://script.google.com/home/projects/<scriptId>/edit

任意のディレクトリで下記コマンドを実行するとソースを取得できる

$ clasp clone <scriptId>

push

cloneしたディレクトリをGASに反映するときはgitと同じようにpushする。

$ clasp push

この時pushの対象となるのは下記のみ

  • 拡張子が .gs
  • 拡張子が .html
  • ファイル名が appsscript.json

status

push対象のファイルはstatusコマンドで確認できる

$ clasp status

まとめ

claspを利用する手順は

  • nodeを入れる
  • claspを入れる
  • Google App Script APIの利用を許可する
  • claspでログインして認証する
  • プロジェクトをcloneする

思ってたより簡単に導入できた。
作成したディレクトリはGitでも普通に管理できるのでGAS上だけで管理してたファイルをちょっとずつGitで管理できるようにしていきたい