首页 > 解决方案 > Firebase 功能未在创建新文档时触发

问题描述

我编写了一个通过 twilio 发送文本的成功函数。这是我的第二次尝试。我希望它在创建文档时发送文本。我的函数显示在 Web 控制台中并通过了错误检查。检查日志,没有错误或触发记录。我怀疑我的路径是错误的,但我真的不知道问题是什么。当我创建一个文档时,我使用它作为路径:

("rooms/" + myUserId + "/" + "thread")

这是我的 index.js:

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

const db = admin.firestore()
const twilio = require('twilio');


const accountSid = functions.config().twilio.sid;
const authToken  = functions.config().twilio.token;

const client = new twilio(accountSid, authToken);

const twilioNumber = '+xxxxxxxxxx'

exports.sendNewChat = 
functions.database.ref('/rooms/{myUserId}/thread')
    .onCreate((snapshot, context) => {

      const textMessageNewChat = {
    body:'New Chat From: ' + sender,
    to:'xxxxxxxxxx',
    from: twilioNumber
  }
  return client.messages.create(textMessageNewChat)

    });

谢谢!

标签: google-cloud-firestoregoogle-cloud-functions

解决方案


您的问题被标记为 google-cloud-firestore,在您的问题中您提到了创建文档。所以你显然在这里与 Firestore 合作。但是您的函数是作为实时数据库触发器实现的,而不是 Firestore 触发器。您需要构建 withfunctions.firestore而不是functions.database. 您应该查看Firestore 触发器的文档以了解如何构建它们。


推荐阅读