python - 使用python将.json文件上传到firebase数据库
问题描述
我想将整个 JSON 文件上传到我的 Firebase 数据库,但我无法让它运行。我是 Python 和 Firebase 的新手。
到目前为止,这是我的代码:
import firebase_admin
from firebase_admin import credentials
from firebase_admin import db
import json
import requests
from pprint import pprint
cred = credentials.Certificate("path/to/serviceAccountKey.json")
firebase_admin.initialize_app(cred)
with open ('/Users/name/Desktop/Test.json') as data_file: data = json.load(data_file)
jsondata = json.dumps('/Users/name/Desktop/Test.json')
requests.put(url="https://myapp.firebaseio.com/", json= jsondata)
我收到一个错误:<响应 [400]>
解决方案
您执行实际写入操作的代码:
requests.put(url="https://myapp.firebaseio.com/", json= jsondata)
此代码不以任何方式使用 Admin SDK,而是直接写入 Firebase 实时数据库的 REST API。
如果您想使用 REST API 进行编写,这是可能的,但您需要:
确保您的 REST 调用已通过身份验证,如有关身份验证 REST 请求的文档中所示。
使用以 结尾的 URL
.json
以确保您的调用最终到达 REST API。所以:requests.put(url="https://myapp.firebaseio.com/.json", json= jsondata)
是的,
/.json
在 URL 的末尾是正常的。
或者,您可以继续使用 Admin SDK 写入数据,但在这种情况下,您需要读取 JSON 并将其解析为代码,并将其作为 JavaScript 对象发送到数据库,如保存文档中所示管理 SDK 的数据。
推荐阅读
- java - 如何解决 com.mongodb.spark.exceptions.MongoTypeConversionException:无法转换... Java Spark
- jquery - angular 7中iframe的浏览器后退按钮问题
- typescript - typescript null 安全运算符错误。我正在使用 mac 和 visul 代码
- swift - Swift:NSTableView拖动以重新排序项目如何在拖动过程中显示单元格
- java - 从流中获取副本而不消耗原始流
- go - 需要一点帮助来理解代码流程?我不明白输出中的routine-end 是如何出现在其他输出语句之间的
- java - 如何在 Gradle 插件中为 sourceSets 块编写测试
- java - 使用 Java (HttpURLConnection) 的 400 错误 Paypal 令牌 API
- laravel - Laravel 7 Socialite Google 登录显示无效的授权错误
- java - 有没有办法在 Eclipse 中评论/取消评论 VM 参数?