GCP Firestore Python Ошибка API PermissionDenied с учетной записью службы - PullRequest
0 голосов
/ 18 марта 2020

Моя цель - использовать Gires Firestore Python 3 API. Я создал служебную учетную запись и следовал официальной документации для настройки. Однако любой запрос к Firestore все равно приводит к ошибке google.api_core.exceptions.PermissionDenied: 403 Missing or insufficient permissions. Я убедился, что правила базы данных Firestore разрешают все операции чтения и записи в консоли Firebase. Я добавил обе роли Owner & Cloud Datastore Owner в свою учетную запись службы, но безрезультатно. Я попытался предоставить учетные данные двумя способами, ни один из которых не оказался успешным:

from google.cloud import firestore

# Method #1
import os
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = os.getcwd() + "/credentials.json"
db = firestore.Client()

# Method #2
from google.oauth2.service_account import Credentials
db = firestore.Client(project="my-project-id",
                      credentials=Credentials.from_service_account_file("credentials.json"))

У меня закончились варианты, и я был бы признателен за любую помощь в решении этой проблемы.

1 Ответ

1 голос
/ 18 марта 2020

Оказывается, имеет значение, где вы выполняете этот код. Я выполнял его в экземпляре виртуальной машины GCP Compute Engine, и, очевидно, необходимо включить соответствующую облачную службу в области доступа к облачному API виртуальной машины. Этот ответ, в частности, решил мою проблему.

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