簡體   English   中英

當我在 django 中使用 json 文件 firebase SDK 時出現錯誤

[英]I'm getting an error whe I use json file firebase SDK in django

我添加了 firebase json 文件以將firebase_admin與 django 一起使用。

我在 Django 中使用的代碼是:

import os
import firebase_admin
from firebase_admin import credentials
from firebase_admin import auth

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
cred = credentials.RefreshToken(os.path.join(BASE_DIR, 'firebase-sdk.json'))
firebase_admin.initialize_app(cred)

我得到的錯誤是:

  File "/home/eavinti/Documentos/AGMATIS/venv-entrely/entrely/apps/legacy/management/commands/import_auth.py", line 17, in <module>
    cred = credentials.RefreshToken(os.path.join(BASE_DIR, 'firebase-sdk.json'))
  File "/home/eavinti/Documentos/AGMATIS/venv-entrely/lib/python3.8/site-packages/firebase_admin/credentials.py", line 193, in __init__
    raise ValueError('Invalid refresh token configuration. JSON must contain a '
ValueError: Invalid refresh token configuration. JSON must contain a "type" field set to "authorized_user".

我只是在沒有 django 的情況下運行它並且完美運行:

import firebase_admin
from firebase_admin import credentials

cred = credentials.Certificate("firebase-sdk.json")
firebase_admin.initialize_app(cred)

我不確定我在 django 中做錯了什么。

我已經想通了

我只需要創建一個環境變量GOOGLE_APPLICATION_CREDENTIALS

並用初始化 firebase

default_app = firebase_admin.initialize_app()

為防止此錯誤,請使用

credentials.Certificate("path/to/token.json") 

代替

 credentials.RefreshToken(...)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM