火在python中用随机数据填充字段

时间:2019-04-21 19:33:00

标签: python firebase google-cloud-firestore


我有一个关于python和firestore的问题,我已经将python设置为fire store,但是当我尝试使用 Varible 填充数据库中的字段时,我可以添加数据我在firebase控制台中得到的只是一个随机字符串。


我的代码

import urllib
import firebase_admin
from firebase_admin import credentials
from firebase_admin import firestore
link = "example.com/test1"
f = urllib.urlopen(link)
uw = f.read()
linky = "Example.com/test.txt"
fa = urllib.urlopen(linky)
uname = fa.read()
print(uname)
unname=uname
# Use a service account
uname="hello"
cred = credentials.Certificate('key.json')
firebase_admin.initialize_app(cred)
#uw="hello"
db = firestore.client()
doc_ref = db.collection(u'treasure').document(uw)
doc_ref.set({
    u'found_by': uname
    #u'last': u'Lovelace',
    #u'born': 1815
})
#print(uuname)
print(uname)


这是我的Firebase控制台
Sorry, I don't have the needed reputation to embed an image but here is the link


注意
我正在尝试从服务器加载要放入数据库中的数据,但是我已经证实这不是问题。这些url ib请求中的第一个是获取文档的名称,但是这样做很好,但是第二个是我在其中获取字段数据但是的问题是 not 加载从服务器上删除
谢谢!

1 个答案:

答案 0 :(得分:0)

数据为base64-encoded

>>> s = 'aGVsbG8='
>>> base64.b64decode(s)
b'hello'

我不使用Firebase / Firestore,但是如果在写入时对数据进行自动base64编码,则很可能在读取时会对其进行自动解码。

如果需要手动对其进行解码,请注意base64.b64decode返回bytes,因此您需要在字节上调用.decode()以获得str

github的评论表明,在字符串文字上添加u前缀将使Firestore编码为UTF-8而不是base64。

在您的示例中:

uname = u'Hello'