使用python更新Firebase中的单个值

Wat*_*raw 6 python firebase firebase-realtime-database

在后端方面,我是一个全新手.我正在开发一个非常简单的网页,需要每隔几分钟左右更新一个元素.我希望它向我的Firebase数据库发出请求,获取一个整数,并将网页上的数字更改为该整数.

目前我无法使用简单的Python程序更新Firebase.以下是我每次运行python脚本时Firebase的样子:单击

当我运行脚本时,它会添加6个新的随机变量,其中包含我要发送给Firebase的值.这是我的代码到目前为止的样子:

from firebase import firebase
fb = firebase.FirebaseApplication('https://myAssignedDomain.com/', None)
Result = fb.post('test/coffee', {'percentage': 40})
Run Code Online (Sandbox Code Playgroud)

为了仅更改Firebase中的一个现有值而不是创建6个新的随机变量,我需要做什么?

ift*_*fti 5

这是更新 firebase python 1.2 包中特定属性值的方法

from firebase import firebase
fb = firebase.FirebaseApplication('https://myAssignedDomain.com/', None)
fb.put('test/asdf',"count",4) #"path","property_Name",property_Value
Run Code Online (Sandbox Code Playgroud)


小智 0

此函数将更新您的节点的“百分比”值。只需确保该节点可写,以便您的脚本可以修改它。

import urllib.request
import urllib.error
import json


def update_entry(new_percentage):

    my_data = dict()
    my_data["percentage"] = new_percentage

    json_data = json.dumps(my_data).encode()
    request = urllib.requests.Request("https://<YOUR-PROJECT-ID>.firebaseio.com/test/coffe.json", data=json_data, method="PATCH")

    try:
        loader = urllib.request.urlopen(request)
    except urllib.error.URLError as e:
        message = json.loads(e.read())
        print(message["error"])
    else:
        print(loader.read())
Run Code Online (Sandbox Code Playgroud)