Как подключиться к Firestore с помощью Python без ключа учетной записи службы? - PullRequest
0 голосов
/ 18 февраля 2019

Мне нужно подключиться к базе данных firestore с помощью python, но я не хочу использовать служебный ключ учетной записи.Могу ли я подключиться с помощью Python только с ProjectId и ApiKey?

Используя javascript, я могу сделать это так:

firebase.initializeApp({
apiKey: process.env.REACT_APP_FIREBASE_API_KEY,
projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID,
});

Но я не могу сделать это с помощью Python, я получаю эту ошибку:

self._g_credential, self._project_id = google.auth.default(scopes=_scopes)
  File "/home/caique/.local/lib/python2.7/site-packages/google/auth/_default.py", line 306, in default
    raise exceptions.DefaultCredentialsError(_HELP_MESSAGE)
google.auth.exceptions.DefaultCredentialsError: Could not automatically 
determine credentials. Please set GOOGLE_APPLICATION_CREDENTIALS or 
explicitly create credentials and re-run the application.

Это мой код прямо сейчас:

import firebase_admin
from firebase_admin import credentials, firestore, auth

cred = credentials.ApplicationDefault()
firebase_admin.initialize_app(cred, {
'projectId': "my-project-id",
'apiKey': "my-api-key"
})

db = firestore.client()

1 Ответ

0 голосов
/ 18 февраля 2019

Вы должны использовать служебную учетную запись для подключения.Это то, что разрешает вашему коду доступ к Firestore и другим ресурсам Google Cloud в вашем проекте.

Единственный раз, когда вам не нужно предоставлять служебную учетную запись, это когда ваш код работает в безопасной среде Google Cloud,такие как облачные функции или App Engine.В этом случае библиотеки Google Cloud автоматически получат учетные данные учетной записи службы по умолчанию из среды выполнения.Но при работе на собственном компьютере вам необходимо выполнить инициализацию с учетной записью службы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...