Google为Node.js、Android和iOS认证客户端提供了很好的例子,可以连接到Firebase以使用Firebase实时数据库,但是如何通过Python从Google AppEngine应用程序连接到Firebase实时数据库并正确认证呢?

最佳答案

以下是我们采取的措施。
(1)首先你需要一个Firebase秘密。
在Firebase中创建项目后,单击“设置”然后单击“数据库”并选择创建机密。python - 如何在Google AppEngine上对Python脚本进行身份验证以使用Google Firebase?-LMLPHP
复制你的秘密稍后它将进入您的代码。
python - 如何在Google AppEngine上对Python脚本进行身份验证以使用Google Firebase?-LMLPHP
(2)您需要您的firebase url。
它的格式如下: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)将此代码添加到主处理程序(假设您正在使用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/

10-16 23:26