我可以在Firebase上主持一个侦听器吗?

我可以在Firebase上主持一个侦听器吗?,firebase,Firebase,我需要实现一个监听器,一旦外部消息触发我的firebase,它就会写入firebase。在我看来,为两页代码运行一个外部服务器似乎不合理,而且我已经读过Firebase的静态托管 小型定制脚本是否可以在Firebase上运行,就像在BackEndounced等其他BAA上运行一样?自2017年3月以来,可以在Google服务器上运行小型JavaScript代码片段,以响应Firebase中的事件。通过写入数据库触发函数可以非常简单: // Listens for new messages add

我需要实现一个监听器,一旦外部消息触发我的firebase,它就会写入firebase。在我看来,为两页代码运行一个外部服务器似乎不合理,而且我已经读过Firebase的静态托管


小型定制脚本是否可以在Firebase上运行,就像在BackEndounced等其他BAA上运行一样?

自2017年3月以来,可以在Google服务器上运行小型JavaScript代码片段,以响应Firebase中的事件。通过写入数据库触发函数可以非常简单:

// Listens for new messages added to /trigger
exports.onTrigger = functions.database.ref('/trigger')
    .onWrite(event => {
      // Grab the current value of what was written to the Realtime Database.
      const original = event.data.val();
      // TODO: write value to data and return a promise
    });
我强烈建议您阅读文档并使用查看页面

旧答案 您不能在Firebase的服务器上执行自己的代码。但是,您可以让触发器流通过Firebase,然后将更新写入Firebase

var trigger = new Firebase('http://yourfirebase.firebaseio.com/trigger');
var data = new Firebase('http://yourfirebase.firebaseio.com/data');
handlersRef.on('value', function(snapshot) {
    // write value to data
});
当然,这需要一个活动/连接的客户端,而不是您试图避开的服务器


如果你不想这样,你需要一个服务器。现在有很多免费且价格合理的选项可供选择。

问题是我需要一个服务器到服务器的连接,而且由于Firebase不允许服务器端代码,我没有其他选择,只能为几行代码运行单独的服务器。为什么它必须是运行该代码的服务器?它是用Firebase没有绑定的语言编写的吗?嗯,我需要处理PayPal IPN消息。监听器最容易用PHP或Perl实现,但我不明白该脚本如何与Firebase集成(这两种语言中的任何一种都可以调用Firebase的REST full API。但实际上,它们需要在浏览器之外运行。PHP或Perl的宿主位置不适合堆栈溢出,但搜索应该为您提供更多的选项,而不是一生中可以处理的选项。)。。