gpt4 book ai didi

javascript - Firebase 云函数 : "status" :"INVALID_ARGUMENT"

转载 作者:行者123 更新时间:2023-12-01 21:34:50 26 4
gpt4 key购买 nike

我正在本地测试 Firebase 云函数。当我使用本地 URL http://localhost:5001/projectName/us-central1/functionName 调用此函数时,如 here 所述:

exports.createSession = functions.https.onRequest((_req, res) => {
res.status(200).send('TESTING');
});

函数运行并返回字符串。

但是,当我调用这个函数时:

exports.createSession = functions.https.onCall((data, context) => {
return 'TESTING';
});

它抛出错误:{"error":{"message":"Bad Request","status":"INVALID_ARGUMENT"}}

我想使用后一个函数,因为我想访问 context.auth 对象来检查用户 Firebase 身份验证。

我使用的是 Firebase CLI v8.4 和 Node v10.20。

我从第二个函数中缺少什么来让它工作?我没有用任何参数调用它,因为我不需要。

最佳答案

您正在比较 callable function使用 onCallHTTP function使用 onRequest。可调用函数的实现方式与 HTTP 函数非常不同。我建议阅读我链接的文档,以便更好地理解差异。要点是可调用函数遵循 specific protocol ,并且任何客户端访问都必须遵循该协议(protocol),否则可能会收到您在此处显示的错误。该协议(protocol)的最佳实现是 Firebase 提供的客户端 SDK - 您应该使用它来调用函数。

如果您希望使用普通的 HTTP 库调用普通的 HTTP 函数,那么根本不要使用可调用对象。您可以使用 ID token 将身份验证信息手动传递给 HTTP 函数,然后 verify it using the Firebase Admin SDK .文档链接有示例。

关于javascript - Firebase 云函数 : "status" :"INVALID_ARGUMENT",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62091410/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com