Google 已经为客户端的 Node.js、Android 和 iOS 身份验证提供了很好的示例,以连接到 Firebase 以使用 Firebase 实时数据库——但是如何通过 Python 从 Google AppEngine 应用程序连接到 Firebase 实时数据库并正确进行身份验证?
最佳答案
以下是我们为实现这一目标所采取的步骤。
(1) 首先您需要一个 Firebase Secret。 在 Firebase 中创建项目后,单击“设置”。然后单击数据库并选择创建一个 secret 。
复制您的 secret 。稍后它将进入您的代码。
(2) 您需要您的 Firebase 网址。 它将具有如下格式:https://.firebaseio.com 这个也抄。
(3) 获取适用于 Python 的 Firebase REST API。 我们使用了这个:https://github.com/benletchford/python-firebase-gae 导航到您的 lib 目录上方并运行此命令,这会将 firebase 代码放入您的 lib 目录:
git clone http://github.com/benletchford/python-firebase-gae lib/firebase
(4) 在您的“main.py”文件(或您正在使用的任何文件)中添加此代码:
from google.appengine.ext import vendor
vendor.add('lib')
from firebase.wrapper import Firebase
FIREBASE_SECRET = 'YOUR SECRET FROM PREVIOUS STEPS'
FIREBASE_URL = 'https://[…].firebaseio.com/'
(5) 将此代码添加到 MainHandler(假设您使用的是 AppEngine):
class MainHandler(webapp2.RequestHandler):
def get(self):
fb = Firebase(FIREBASE_URL + 'users.json', FIREBASE_SECRET)
new_user_key = fb.post({
"job_title": "web developer",
"name": "john smith",
})
self.response.write(new_user_key)
self.response.write('<br />')
new_user_key = fb.post({
"job_title": "wizard",
"name": "harry potter",
})
self.response.write(new_user_key)
self.response.write('<br />')
fb = Firebase(FIREBASE_URL + 'users/%s.json' % (new_user_key['name'], ), FIREBASE_SECRET)
fb.patch({
"job_title": "super wizard",
"foo": "bar",
})
fb = Firebase(FIREBASE_URL + 'users.json', FIREBASE_SECRET)
self.response.write(fb.get())
self.response.write('<br />')
现在,当您导航到您的 Firebase 实时数据库时,您应该会看到 Harry Potter 作为用户和其他人的条目。
关于python - 如何验证 Google AppEngine 上的 Python 脚本以使用 Google Firebase?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38304372/