LoginSignup
2
3

More than 1 year has passed since last update.

Google App Engineで別プロジェクトに紐付いたfirebase admin sdkを使用する

Posted at

結論

  • 環境変数にFIREBASE_CONFIG='{"projectId": "your-project-id"}'を設定する。
  • GAEのサービスアカウントをfirebaseに紐付いたプロジェクトのIAMに追加し、権限を与える。

別解として、firebaseに紐付いたプロジェクトでサービスアカウントキーを発行し、initialize_app実行時にそのキーを使うように指定する方法もあると思います。

環境

  • Google App Engine python3.8
  • firebase-admin 5.0.0

実装

FIREBASE_CONFIGを設定

projectId(project_idではないことに注意)にfirebaseのprojectIdを設定する。

.env
FIREBASE_CONFIG='{"projectId": "your-project-id"}'

firebase_adminSDKのセットアップ

同プロジェクトに紐付いたfirebaseを操作するときと変わらず、引数なしでinitialize_appを実行する。

firebase_admin_setup.py
import firebase_admin

firebase_admin.initialize_app()

IAMの設定

[GAEのプロジェクトID]@appspot.gserviceaccount.comをfirebaseに紐付いたプロジェクトのIAMに追加し適切な権限を与える。(今回はFirebase Admin SDK 管理者サービス エージェントのロールを与えました。)

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3