我想从另一个Node.js服务器或仅仅是一个Node.js脚本中调用Firebase的云函数。
我的Firebase函数是一个onCall函数。
我正在使用https://www.npmjs.com/package/firebase-admin来与Firebase进行交互,但它似乎没有调用云函数的方法...
还有其他的方法可以实现吗?比如使用HTTP请求?
我想从另一个Node.js服务器或仅仅是一个Node.js脚本中调用Firebase的云函数。
我的Firebase函数是一个onCall函数。
我正在使用https://www.npmjs.com/package/firebase-admin来与Firebase进行交互,但它似乎没有调用云函数的方法...
还有其他的方法可以实现吗?比如使用HTTP请求?
如果你想从服务器端调用可调用函数,你需要遵循其协议文档以确保请求有效。
使用常规的HTTP类型函数可能更容易。通过在另一个普通JavaScript函数中共享公共代码,应该可以轻松地与可调用函数共享其逻辑。
firebase emulators:start --only function
,在函数列表http://localhost:4001/functions
中检查要调用的函数名称。 await fetch('<HTTP-LOCAL-URL-YOU-PICKED-FROM-THE-LIST>', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({data:{ /* YOUR JSON COMES HERE */ }})
});
await fetch('http://us-central1-<MY_PROJECT_NAME>.cloudfunctions.net/<MY_FUNCTION_NAME>', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({data:{ /* YOUR JSON COMES HERE */ }})
});