firebase emulators を動かそうとした時に詰まった話です。
firebase emulators で、Firebase のプロジェクトの Firestore にデータを挿入しようとしたのにdefault credential
がないみたいなエラーが出ました。
2021/08/05 11:38:04 google: could not find default credentials.
See https://developers.google.com/accounts/docs/application-default-credentials
for more information.
以下の二つは既にやっていました。
- ローカルの
gcloud_cli
とfirebase_cli
で、gcloud auth login
とfirebase login
とか使って、コンソール上で認証されているアカウントに、ログイン済み。 - admin sdk キーの json もちゃんと指定してある。
試したこと
-
gcloud auth activate-service-account --key-file
でadmin sdkファイルを指定してみる。
解決策
調べたところ、以下のコマンドで「デフォルトアカウント」を設定する必要があったらしいです。
gcloud auth application-default login
Google: could not find default credentials · Issue #5 · circleci/docker-hello-google
解説
ユーザーのプロジェクトへの権限とかの credential の情報は、Application Default Credentials (ADC) で取得する必要があって、それを取得するには、gcloud auth login
ではなく、gcloud auth application-default login
らしいです。