claspのインストールからpushできるようになるまで
ドキュメント&公式リポジトリ
インストール
公式ドキュメントに沿ってインストールを試みる
sudo npm i @google/clasp -g
するといきなりエラーが出てつまづく
... npm ERR! code ENOENT npm ERR! errno -2 npm ERR! syscall rename npm ERR! enoent ENOENT: no such file or directory, ...
READMEの下の方にトラブルシューティングがあるのでそれを読む。
Node version >= 6.0.0.
とのことなので、トラブルシューティングに沿ってnodeのアップデートをする。
node -v # Check Node version sudo npm install n -g sudo n latest
アップデート後、再度インストールコマンドを実行することでclaspのインストールができた。
clasp -v > 1.7.0
プロジェクト作成
既存のGASプロジェクトと紐付けることもできるみたいだけどまずはclaspでプロジェクトを作成してみる
clasp create
作成するプロジェクトのタイプを選択させられるのでとりあえずstandalone
を選択。
するとまたエラー。
User has not enabled the Apps Script API. Enable it by visiting https://script.google.com/home/usersettings then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.
AppsScriptAPIをオンにしろと言われているので指示に従ってhttps://script.google.com/home/usersettingsにアクセスしてAPIをオンにして再度プロジェクトを作成する。
.clasp.json
とappsscript.json
が作成された。
なぜかappsscript.json
のtimezoneが"America/New_York"
になっているがとりあえず気にしないことにする。
コードを書いて反映させる
この時点で既にGoogleドライブ上にGASプロジェクトは作られているみたい(?)
clasp pull
すると空のmyFunction
が入ったCode.js
がダウンロードされてくる。
とりあえずログを出せるように書いてpushしてみる。
function myFunction() { Logger.log("hoge") }
clasp open
するとブラウザでGASのエディタが開き、ローカルで書いたコードが反映されていることがわかる。
次の課題
clasp runできない問題
clasp run
してローカルで実行しようとしたら認証スコープ定義しろみたいなエラーが出て実行できなかった。
Error: Local client credentials unauthenticated. Check scopes/authorization.
Logger.logしか書いてないので認証するところないと思うんだけど(ブラウザのGASエディタでは認証ダイアログも開かず問題なく実行できた)
ES6で書けるようにする
とりあえずES6で適当に書いてpushしたら書いたものがそのまま上がってしまって実行できなかったので(GASはES6記法未対応)何らか変換する部分は自分で用意する必要があるっぽい。
現時点だとローカルでGit管理できるということ以外一切のメリットがないのでもう少し環境整備する必要がある。
とりあえず今日はここまで
Going GAS: From VBA to Google Apps Script (English Edition)
- 作者: Bruce Mcpherson
- 出版社/メーカー: O'Reilly Media
- 発売日: 2016/02/15
- メディア: Kindle版
- この商品を含むブログを見る