当我们从一个平台移动到另一个平台时,尝试用临时解决方案替换我的工作场所的Twilio实现,我认为Webtask将是一个很好的解决方案。我很高兴看到Webtask有一个默认的Twilio模板,并且认为我可以直接上班,但出于某种原因,即使使用它的默认功能,我也无法使模板工作。
我担心我没有发布对网页任务的期望。这是我的webtask上的默认代码:
'use latest';
import twilio from 'twilio';
module.exports = (context, cb) => {
// POST a json object with at least the following properties.
const { body, to_number, from_number } = context.data;
const { TWILIO_SID, TWILIO_AUTH_TOKEN } = context.secrets;
var client = new twilio.RestClient(TWILIO_SID, TWILIO_AUTH_TOKEN);
client.messages.create({
body,
to_number,
from_number
}, (err, message) => {
message = message + " Goodbye World!";
if (err) return cb(err);
cb(null, message);
});
};

这就是我的邮递员的样子(我的Twilio电话号码和个人电话号码在实际代码obv中提供给from_number和to_number)。 头: postman-headers 身体: postman-body
我已将我的Auth令牌和SID存储在机密区域。当我发这篇文章时,我收到了:
{
"code": 400,
"error": "Script returned an error.",
"details": {
"status": 400,
"message": "A 'From' phone number is required.",
"code": 21603,
"moreInfo": "https://www.twilio.com/docs/errors/21603"
},
"message": "A 'From' phone number is required."
}

我尝试了几件事,比如在代码中设置from_number,就像这个const from_number = "+19999999999"
一样,除了一个实数。即便如此,我得到相同的400响应(我也尝试将SID作为用户名并将Auth Token添加为密码,如this answer中所述 - 相同的结果)。如果可能的话,我真的想让webtask工作。
答案 0 :(得分:0)
Twilio开发者传道者在这里。
当你打电话给Twilio发送消息时,你使用了错误的属性名称。而不是
client.messages.create({
body,
to_number,
from_number
}, (err, message) => { //... } );
它应该是:
client.messages.create({
body,
to: to_number,
from: from_number
}, (err, message) => { //... } );
Twilio希望将属性称为to
和from
而不是to_number
和from_number
。
如果有帮助,请告诉我。