使用Postman测试Twilio Webtask

时间:2017-08-02 23:06:55

标签: javascript rest http twilio postman

当我们从一个平台移动到另一个平台时,尝试用临时解决方案替换我的工作场所的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工作。

1 个答案:

答案 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希望将属性称为tofrom而不是to_numberfrom_number

如果有帮助,请告诉我。