如何将无效参数修复为

时间:2019-07-31 23:39:23

标签: node.js google-cloud-functions twilio twilio-api

我正在尝试验证使用Twilio发送的代码。目前,发送验证码的功能很好用,但是验证码的功能无法正常工作。

我尝试将参数to替换为ToverificationSidVerificationSid,但它们似乎都无法正常工作。

exports.validateVerificationCode = functions.https.onRequest((req, res) => {
  var number = req.body.number;
  var code = req.body.code;
  twilio.verify.services('VA{MY_SERVICE_ID}').verificationChecks.create({
    to: number, 
    code: code
  }).then((validation_check) => {
    res.status(200).json(validation_check);
  }).catch((err) => {
    res.status(500).json(err);
    console.log(err);
  });
});

我希望该功能按照API文档中所示运行,但是我的Firebase控制台不断向我显示

  

“ [错误:参数无效:收件人]     状态:400”,当我将“ to”替换为“ To”时,出现以下错误“ [错误:必须指定'To'号或'VerificationSid']     状态:400英寸。

1 个答案:

答案 0 :(得分:0)

物联网,您是否检查过to number:是否为E.164格式https://www.twilio.com/docs/glossary/what-e164,并且您使用的是Twilio Node SDK帮助器库的最新版本? https://github.com/twilio/twilio-node/blob/master/CHANGES.md

我的工作代码看起来非常相似,所以我认为它是上面两个问题之一(我已使用Twilio Node Helper Library 3.31.1进行了测试)。

exports.handler = function(context, event, callback) {

const client = context.getTwilioClient();   
const code = event.code;
let phoneNumber = event.phoneNumber;

client.verify.services('VA1exxxxxxbc6e02520c585xxxxxxxxxx')
         .verificationChecks
         .create({to: phoneNumber, code: code})
         .then(verification_check => {
             console.log(`***VERIFICATION STATUS***: ${verification_check.status}`);
            //  Object.keys(verification_check).forEach(thisKey => console.log(`${thisKey}: ${verification_check[thisKey]}`));
             callback(null, `${verification_check.status}`);
         })
          .catch(err => {
              console.log(err);
              callback();
          });
         };