node.js - Twilio:使用 Node.js 从特定数量的日志中统计 SMS 消息的数量
问题描述
我正在尝试在 Node.js 中编写一个 Twilio 服务器端函数(https://console.twilio.com/us1/develop/functions/classic)来计算来自任何发件人的传入消息的数量。
如果数字 = 0,则执行 X。
如果数字 > 0,则执行 Y。
显然,下面的代码不起作用,甚至可能会非常糟糕。生成的错误消息是:"{"message":"username is required","name":"Error","stack":"Error: username is required\n at new Twilio (/var/task/node_modules/twilio /lib/rest/Twilio.js:141:11)"
感谢任何帮助。谢谢!
exports.handler = function(context, event, callback) {
//
const accountSid = process.env.TWILIO_ACCOUNT_SID;
const authToken = process.env.TWILIO_AUTH_TOKEN;
const client = require('twilio')(accountSid, authToken);
//
//const Phone = event.Phone;
client.messages
.list({
from: event.Phone
})
.then(messages => messages.forEach(m => console.log(m.sid)));
//
if(messages.length === 0)
{
return callback(null,"Continue");
} else {
//
return callback("Error","Error");
}
};
解决方案
来自 Twilio 支持,这与 Phil 的回答一致:
exports.handler = function(context, event, callback) {
// Make sure under the Functions Global Config tab:
// "Add my Twilio Credentials (ACCOUNT_SID) and (AUTH_TOKEN) to ENV" is CHECKED
const client = context.getTwilioClient();
const phoneNumber = event.From_Number;
client.messages
.list({ from: phoneNumber, limit:20 })
.then((result) => {
console.log(result.length);
return callback(null, result);
})
.catch((error) => {
console.error(error);
return callback(error, null);
});
};
推荐阅读
- node.js - access a returned header from previous post in nodejs
- python - 从外部服务器将 Python 数据框插入 Hive
- vue.js - 动态切换表行的可见性 - bootstrap-vue
- .net - 通用主机自动关机
- android - RecyclerView-设置它和项目的透明度
- python - 如何将列表括号从 [] 更改为无
- html - 滑块背景图像在 Microsoft Edge 上看起来不太好
- scala - HigherKinds 类型别名的编译问题
- android - 适配器类中的 Sharedpreference
- mysql - SQL。从其他列的选择中设置列值