首页 > 解决方案 > 使用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]>

标签: pythonjsonfirebasefirebase-realtime-databasefirebase-admin

解决方案


您执行实际写入操作的代码:

requests.put(url="https://myapp.firebaseio.com/", json= jsondata)

此代码不以任何方式使用 Admin SDK,而是直接写入 Firebase 实时数据库的 REST API。


如果您想使用 REST API 进行编写,这是可能的,但您需要:

  1. 确保您的 REST 调用已通过身份验证,如有关身份验证 REST 请求的文档中所示。

  2. 使用以 结尾的 URL.json以确保您的调用最终到达 REST API。所以:

     requests.put(url="https://myapp.firebaseio.com/.json", json= jsondata)
    

    是的,/.json在 URL 的末尾是正常的。


或者,您可以继续使用 Admin SDK 写入数据,但在这种情况下,您需要读取 JSON 并将其解析为代码,并将其作为 JavaScript 对象发送到数据库,如保存文档中所示管理 SDK 的数据


推荐阅读