我正在做一个小型项目,在该项目中,数据在一个页面上上传到Firestore,然后在同一网站的另一个页面上检索。当网站托管在localhost上时,是否可以测试Firestore集成?
在本地主机上部署网站后尝试访问Firestore功能时,我得到:
“ google.api_core.exceptions.Failed前提条件:400 Cloud Firestore API不适用于数据存储模式项目。”错误。
我能找到的唯一文档是:“ How to deploy Flask Crud API with Firestore...”
注意: 1.我查看了该错误,并再次检查了我的项目是否处于Firestore模式(我是从Firebase控制台创建的项目),然后在Flask应用程序中使用以下代码对数据库进行身份验证:
import firebase_admin
from firebase_admin import credentials
cred = credentials.Certificate("path/to/serviceAccountKey.json")
firebase_admin.initialize_app(cred)
对此我们将不胜感激!
感谢您对此进行调查。
答案 0 :(得分:1)
该错误消息表示您的Cloud Firestore数据库位于Datastore mode instead of Native mode中。除非您从未将任何内容保存到数据库中,否则无法更改模式。
尝试创建一个新项目,创建一个新的Cloud Firestore数据库,然后选择纯模式:
答案 1 :(得分:0)
我发现了问题。我正在使用带有新生成的私钥的cred = certificate.Certificate(“ path / to / serviceAccountKey.json”)代码对我的Firestore数据库进行身份验证,但是,系统为此使用了旧的$ GOOGLE_APPLICATIONS_CREDENTIALS。
将其更新为新密钥可以解决此问题,是的,我能够在Localhost上测试FLASK应用与Firestore的集成:)
{% for ingredient in drink.ingredients.all %}}
{{ingredient.ingredient_name}}{% if not forloop.last %},{% endif %}
{% endfor %}