稲枝の押入れ

いなえが適当なことを書いては、しまっておく場所

Windows10でGASをローカルで編集する方法

概要

GAS(Google Apps Script)を書くにあたって、ブラウザ上で書いたり、ローカルで書いたものをブラウザで貼り付けたりしていたが、非効率なので同期するなりする仕組みが欲しかった。 調べてみると既にあるようなのでWindows10でこれを使用出来るようになるまでを自分用の備忘録としてまとめた。

目標

  • GASをブラウザ上で書くのを避けたい
  • ローカルのテキストエディタで書きたい
    • 慣れた操作をしたい(Vim on VSCode)
    • Gitに乗せられるようにしたい

対応

  • ClaspというGoogleが提供する、GASをローカルで管理出来るようにするCLIツールを使用する
  • ClaspはNode.js上で動作するのでこれを導入する

GAS をローカルで好きなエディタで編集するまで

Node.jsをインストール

https://nodejs.org/ja/
環境変数の更新のために再起動

claspをインストール

$ npm install -g @google/clasp

を実行。以下ログ

C:\Users\ユーザー名>npm install -g @google/clasp C:\Users\ユーザー名\AppData\Roaming\npm\clasp -> >C:\Users\ユーザー名\AppData\Roaming\npm\node_modules\@google\clasp\src\index.js npm WARN inquirer-autocomplete-prompt@1.0.1 requires a peer of inquirer@^5.0.0 || ^6.0.0 but none is >installed. You must install peer dependencies yourself.

+ @google/clasp@2.3.0 added 160 packages from 93 contributors in 11s

claspにログイン

$ clasp login

を実行。ネットワークについて聞かれるのでprivateでは許可。 ブラウザで開くので適当にGoogleアカウントにログイン。

Logged in! You may close this page. と出たらOK。 コンソールでは Authorization successful.

Default credentials saved to: ~.clasprc.json (C:\Users\ユーザー名.clasprc.json).

と出る。

GAS APIをオンにする

https://script.google.com/home/usersettings
にアクセスして「Google Apps Script API」をオンにする しないと、次のクローン時に

Input params not Valid JSON string. Please fix and try again

と出てcloneに失敗する

GASプロジェクトの承認をする

GASファイルを作成して初めて実行する際に出る承認を予め行っておく。「実行」を押すと色々出てくるのでそれに従って承認まで進む。

これを行っていない場合も次のクローン時に

Input params not Valid JSON string. Please fix and try again

と出て失敗する。

GASのクローン

適当なフォルダに移動して

$ clasp clone スクリプトID

とするとそのフォルダにコードがコピーされる

変更内容の反映

ローカルのファイルを編集し、

$ clasp push

することでローカルの変更内容を反映させられる。 (VSCodeなら Ctrl + @で開いているフォルダのコマンドプロンプトを開けるので便利)

Git

ローカルのファイルが簡単にリモートのGASファイルと同期出来るので、これをGit管理できるようになった。