javascript - Firebase 可调用函数不起作用
问题描述
这是我index.js
文件的一部分:
const firebase = require("firebase");
const functions = require('firebase-functions');
// Firebase Setup
const admin = require('firebase-admin');
const serviceAccount = require('./service-account.json');
const cors = require('cors')({ origin: true });
admin.initializeApp({
credential: admin.credential.cert(serviceAccount)
});
exports.addMessage = functions.https.onCall((data, context) => {
const sanitizedMessage = sanitizer.sanitizeText("test");
return admin.database().ref('/messages').push({
text: sanitizedMessage
}).then(() => {
console.log('New Message written');
return { text: sanitizedMessage };
})
});
此函数已成功上传到 Firebase。我正在尝试使用以下代码从我的网络客户端调用它:
var addMessage = firebase.functions().httpsCallable('addMessage');
addMessage({text: "test"}).then(function(result) {
var sanitizedMessage = result.data.text;
console.log(sanitizedMessage);
});
结果是带有以下描述的错误:
此外,Firebase 控制台中没有日志。但是,如果我直接访问该链接,我会收到一条日志消息。这意味着两件事:
- 我的函数的 URL 是由我的 Web 客户端正确构造的。
- 鉴于直接访问它会在 Firebase 控制台中生成日志,这意味着我的 Web 客户端甚至没有进行此调用。
我完全按照官方指南进行操作。
非常感谢任何调试帮助。
解决方案
const functions = require('firebase-functions');
const admin = require('firebase-admin');
const cors = require('cors')({ origin: true });
admin.initializeApp();
exports.addMessage = functions.https.onCall((data, context) => {
const sanitizedMessage = sanitizer.sanitizeText("test");
return admin.database().ref('/messages').push({
text: sanitizedMessage
}).then(() => {
console.log('New Message written');
return { text: sanitizedMessage };
})
});
推荐阅读
- javascript - ReactDOM Uncaught SyntaxError: Unexpected token <
- python - read_csv 可以处理多大的文件?适用于 10 行 excel,但不适用于 100000 - 表示文件不存在
- amazon-web-services - 如何从 ECS 服务中删除/移除任务
- ruby-on-rails - How to plot a column chart rails
- c++ - DirectX 11 中多个窗口的多个交换链的多线程
- xcode - 如何从 xampp 的 htdocs 文件夹在 Xcode iOS 模拟器中运行 react-native 应用程序
- mysql - 如何通过MYSQL查询计算与另一列中每个唯一元素相对应的一列中的NULLS?
- r - Use summarise and summarise_at in same dplyr chain
- php - 如何修复未定义的索引?
- javascript - Ray-Tracing inspired algorithm for sound reflection simulation