奇怪的情况。我有许多Firebase云功能。我今天添加了一个新的。它可以正常部署,但不能运行。由于某种原因,甚至无法调用它。为了隔离新函数中的潜在代码错误,我将另一个工作函数放到了这个新函数中,并且该函数均未运行。如果我将现有功能的内容替换为新功能的内容,则它将运行。好像Firebase默默地引入了具有新功能的限制,或者只是停止运行任何新功能。到目前为止,我已经在两个不同的实例上进行了尝试,问题仍然存在。
要复制,请使用具有某些功能的现有项目。复制其中一个功能-说一个简单的https请求,并为其重新命名。新功能将与旧功能相同,但不会与浏览器提示"Error: Forbidden
Your client does not have permission to get URL /newFunction from this server."
这是一个很奇怪的行为,特别是因为只有通过用新内容替换旧功能并调用旧功能才能使新功能运行。然后,它可以正常运行,并且服务器没有任何投诉。
有人知道这可能是什么原因以及如何解决这种奇怪的行为吗?
答案 0 :(得分:0)
很明显,Firebase于2020年1月15日引入了一项更改,即默认情况下HTTP功能需要身份验证。
您必须指定一个函数是否允许在部署时或部署后进行未经身份验证的调用。这可以在所有功能的仪表板中或通过控制台完成。
如果他们提供的错误消息能够解释所有这些信息,那将会很好-可以为我节省很多时间的故障排除。