GAS

clasp loginせずに複数アカウントを切り替えたい

問題点

プロジェクトごとにアカウントを分けて開発しているため、clasp pushをする前にclasp loginでアカウント切り替えが都度必要になって面倒すぎる問題…

解決方法

clasp loginで生成される.clasprc.jsonをアカウントごとに別名保存してpushの際に該当ファイルを指定するというパワープレイで解決

実装方法

1.clasp loginで.clasprc.jsonを生成

ログインすると.clasprc.jsonがルートフォルダ(cd ~/)に作成されます

2.clasprc.jsonを別名保存

名前はなんでも良いですが、googleアカウントやプロジェクト名を入れるとわかりやすいです。自分はアカウント名で作成しました。

.clasprc_<Googleアカウント名>.json

3.package.jsonで引数指定

別名保存した.clasprc.jsonをpushの際に -Aで指定すれば動きます

clasp push -A ~/.clasprc_<Googleアカウント名>.json

いちいち指定するのも面倒なので、プロジェクトごとにyarnのscriptsで設定することに

 "scripts": {
    "push": "clasp push -A ~/.clasprc_Googleアカウント名.json",
  }

1から3の手順を切り分けたいアカウントの数だけ繰り返します。
これで全プロジェクト一律yarn run pushでログインしなおさずにpushすることが可能です。

ABOUT ME
ytakeuchi
都内在住のフロントエンドエンジニア。2016年からフリーランスとして活動中。座右の銘は「昨日よりも楽に」。好きな言葉は「効率化」。こんな性格なのでプライベートではGoogle Apps Scriptばかり触っています。