【发布时间】:2020-01-06 21:10:10
【问题描述】:
我正在尝试通过 firebase 云功能使用 twilio api for node.js 发送短信,但未发送短信。但是,如果我将相同的代码作为独立的 java 脚本代码运行,那么它可以正常工作。有人可以吗 请帮助为什么在firebase云功能中没有发生这种情况。代码附在下面:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.sendNotfication = functions.database.ref('/kakuh/{pushId}/firstName')
.onCreate((snapshot, context) => {
const original = snapshot.val();
const accountSid = 'ACb6b4820df073e63312382f95b0314d07';
const authTcoken = 'c60923ca097368662b39dfab470f2fd1';
const client = require('twilio')(accountSid, authToken);
client.messages
.create({
from: '+16304263296',
body: original,
to: '+918169813384'
});
console.log('Uppercasing', context.params.pushId, original);
const uppercase = original.toUpperCase();
return snapshot.ref.parent.child('firstName').set(uppercase);
});
【问题讨论】:
-
我看不出您是如何使用 Twilio API 检查错误的。通话可能失败。此外,您似乎并没有等待对 Twilio 的调用异步完成,这意味着它可能永远不会完成。当所有异步工作完成时,您需要返回一个解决方案。
-
感谢道格的回复。如果我只运行 twilio 代码,那么它可以正常工作,但是在 firebase 函数内部调用时它不起作用。正在运行的代码如下:const accountSid = 'ACb6b4820df073e63312382f95b0314d07';常量 authTcoken = 'c60923ca097368662b39dfab470f2fd1'; const client = require('twilio')(accountSid, authToken); client.messages .create({ from: '+16304263296', body: original, to: '+918169813384' });
标签: javascript node.js firebase google-cloud-functions twilio