javascript - Firebase 云函数:调用可调用函数时无法提取参数
问题描述
我正在使用 Flutter SDK 调用云函数。我添加了一个参数someField
,但在云端,它无法检索并且始终为undefined
. 这就是我调用云函数的方式
static Future<void> doSomething() async {
await Firebase.initializeApp();
final HttpsCallable callable = CloudFunctions.instance.getHttpsCallable(
functionName: 'myFunction',
);
dynamic resp = await callable.call(
<String, dynamic>{
'someField': 'Hurray!',
},
);
}
云函数写法如下
exports.myFunction = functions.https.onRequest((req, res) => {
cors(req, res, () => {
const myParameter = req.body.someField; // is always Undefined
// also tried
// req.query.someField
// req.params.someField
doSomething(myParamter)
})
});
解决方案
您将客户端应用程序上的可调用函数与后端的HTTPS 函数混合在一起。请查看文档以了解它们之间的区别。如果您想在客户端使用 Firebase SDK 来调用 Cloud Functions,您应该声明 usingonCall
而不是onRequest
. 当您使用 编写可调用函数时onCall
,您将可以通过传递给回调的第一个参数访问输入参数。
exports.myFunction = functions.https.onCall((data, context) => {
// data.someField should be populated from your client request
});
推荐阅读
- python - 使用 Python 在 Elasticsearch 中删除文档
- spring-boot - 如何将 Valid 和 NotBlank 用于 swagger 对象?
- r - 我在 ggplot2 中的分段条形图有问题
- javascript - 如何为 chrome 扩展(清单 v3)发出 Ajax 请求 (XMLHttpRequest) 并检索 PHP 文件
- javascript - 当我单击父级上的按钮时,有没有办法获取 React 组件的内部值?
- opengl - vulkan中的异步渲染模型
- html - 在不使用缩放的情况下将 SVG 的大小更改为其原始大小的 45%
- scala - 下载文件后让 Play 框架重定向到感谢页面
- python - Pandas:AttributeError:“str”对象没有属性“isnull”
- python - 在python中替换xml文件的根元素