我可以使用python-firebase与 firebaseio 交谈,但我没有找到任何关于如何使用 firebaseio 与 NEST 设备进行实际通信的教程。
firebaseio 上的所有示例都与 NEST 无关,同样,似乎所有 NEST 示例都与 firebaseio 无关。
firebaseio 帐户是否应该以某种方式从 home.nest.com 导入数据?我如何将两者联系起来?
为什么我要使用 firebaseio 进行身份验证,除非它具有 NEST 的数据?
验证
Firebase 中的身份验证只是简单地创建一个符合 JWT 标准的令牌,并将其放入名为 auth 的查询字符串中。该库为您创建了该令牌,因此您永远不会为自己构建一个有效的令牌而苦苦挣扎。如果数据已通过某些安全规则防止写入/读取操作,则后端将适当的错误消息发送回客户端,状态码为 403 Forbidden。
from firebase import firebase
firebase = firebase.FirebaseApplication('https://your_storage.firebaseio.com', authentication=None)
result = firebase.get('/users', None, {'print': 'pretty'})
print result
{'error': 'Permission denied.'}
authentication = firebase.Authentication('THIS_IS_MY_SECRET', 'ozgurvt@gmail.com', extra={'id': 123})
firebase.authentication = authentication
print authentication.extra
{'admin': False, 'debug': False, 'email': 'ozgurvt@gmail.com', 'id': 123, 'provider': 'password'}
user = authentication.get_user()
print user.firebase_auth_token
"eyJhbGciOiAiSFMyNTYiLCAidHlwIjogIkpXVCJ9.eyJhZG1pbiI6IGZhbHNlLCAiZGVidWciOiBmYWxzZSwgIml
hdCI6IDEzNjE5NTAxNzQsICJkIjogeyJkZWJ1ZyI6IGZhbHNlLCAiYWRtaW4iOiBmYWxzZSwgInByb3ZpZGVyIjog
InBhc3N3b3JkIiwgImlkIjogNSwgImVtYWlsIjogIm96Z3VydnRAZ21haWwuY29tIn0sICJ2IjogMH0.lq4IRVfvE
GQklslOlS4uIBLSSJj88YNrloWXvisRgfQ"
result = firebase.get('/users', None, {'print': 'pretty'})
print result
{'1': 'John Doe', '2': 'Jane Doe'}