Firebase REST streaming for multiple users

流过昼夜 提交于 2019-12-11 15:06:14

问题


I have a server that needs to receive real time updates from Firebase, for multiple users, where each user grants Oauth access to his Firebase data to my app.

My server is implemented using Firebase REST Streaming, based on Server Sent Events.

I need to know if there is a way to multiplex Firebase data pertaining to multiple users on a single stream.

I would like to be able to set up the stream with Oauth tokens pertaining to multiple users, and to subsequently receive real time updates pertaining to the multiple users on the same stream.

Otherwise, it seems that I need to maintain a separate stream per Oauth token, which seems to be non-scalable.

I think Twitter have a Site Streams feature like what I am looking for in their API, implemented via an envelope that indicates the user the message is targetted to.

Does Firebase support anything similar?


回答1:


A single Firebase REST call will only monitor a single node. E.g.

curl 'https://samplechat.firebaseio-demo.com/users/jack/name.json'

You can control what data is returned from under that node with the orderBy, startAt,endAtandlimitTo...` parameters. E.g.

curl 'https://samplechat.firebaseio-demo.com/users/.json?orderBy="name"&startAt="Jack"'

There is no way to have a single REST request return data from different nodes/nodesets. So unless you find a way to gather all data you want to return under single node, where it can be returned by a single set of query parameters (orderBy, etc), you will have to execute multiple REST requests to get your data.

Note that the SDKs that Firebase provides internally use a web-socket protocol, so are not impacted by this limitation. If an SDK is available for your server-side language (e.g. node.js, Java), you could solve it by using that one.



来源:https://stackoverflow.com/questions/30451991/firebase-rest-streaming-for-multiple-users

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!