【发布时间】:2022-09-26 07:27:38
【问题描述】:
如何将此onRequest 函数传递给onCall?我正在使用模拟器在本地主机上工作。有人可以给我一些指导吗,我尝试按照functions.https.onCall 的文档进行操作,但我不明白我是否必须执行任何前面的步骤。
export const getFileInformation = functions.https.onRequest( (req, res) => {
return cors( req, res, () => {
const urls = [
`url1`,
`url2`,
`url3`
];
const urlsCalls: any[] = [];
const resultados: any[] = [];
urls.forEach( url => {
urlsCalls.push(axios.get(url));
});
Promise.allSettled(urlsCalls)
.then( response => {
response.map( (element: any) => {
const item = element.value.data;
resultados.push(item);
});
console.log(resultados);
res.json(resultados);
})
.catch( error => {
console.log(error);
});
} );
});
我正在尝试这样简单的事情:
export const getFileInformation2 = functions.https.onCall( (data, context) => {
return { msg: \'Hello from Firebase!\' };
});
但我收到以下错误:
{\"error\":{\"message\":\"Bad Request\",\"status\":\"INVALID_ARGUMENT\"}}
我应该如何处理onCall 函数?
-
代码显示
onRequest。你能展示你为onCall()尝试的代码吗? -
@Dharmaraj 我已经编辑了我的问题,请看看我在尝试什么
-
你怎么称呼
onCall()云函数?你能分享你的客户端代码吗?我怀疑您没有使用 Firebase SDK 来调用它并且缺少一些必需的参数,就像在这篇文章中一样:Bad request returned from google cloud function -
我用模拟器
http://localhost:5001/[myProjectName]/us-central1/getFileInformation2从我的本地主机调用它。从我读到的内容中,我必须包含一个标题和一些其他参数,请问你有什么具体的例子吗? -
你能用你用来调用函数的代码更新你的问题吗?也许是 Axios/fetch 请求,所以它可能更容易解释?
标签: javascript angular firebase google-cloud-functions