Node.js 如何使用Typescript在Twilio API的电话验证中传递post请求

Node.js 如何使用Typescript在Twilio API的电话验证中传递post请求,node.js,twilio,twilio-api,twilio-php,nodejs-server,Node.js,Twilio,Twilio Api,Twilio Php,Nodejs Server,我试过了,但它仍然显示了这个错误,在帖子正文中缺少所需的参数,我也需要数据。但如何解决这个问题也会出现同样的错误 Twilio代码 import axios from 'axios' import qs from 'qs'; import * as Twilio from 'twilio'; export function sendOtpForValidUser(user_phone_number: string){ const data = JSON.stringify({ &qu

我试过了,但它仍然显示了这个错误,在帖子正文中缺少所需的参数,我也需要数据。但如何解决这个问题也会出现同样的错误

Twilio代码

import axios from 'axios'
import qs from 'qs';
import * as Twilio from 'twilio';

export function sendOtpForValidUser(user_phone_number: string){

const data = JSON.stringify({
    "To":user_phone_number,
    "Channel":'sms'
})
console.log(data)
return axios.post(`https://verify.twilio.com/v2/Services/${serviceid}/Verifications`, data, {
    headers: {
        'Authorization': 'Basic ' + Buffer.from(accountSid + ':' + authToken).toString('base64'),
        'content-type': 'application/x-www-form-urlencoded;charset=utf-8'
    },
}).then(message => {
    console.log('Message', message.status)
    var status = message.status
    return status
})
    .catch(error => {
        console.log(error)
        var status = error.data
        return status
    })


}
错误

{
      code: 20001,
      message: 'Missing required parameter To in the post body',
      more_info: 'https://www.twilio.com/docs/errors/20001',
      status: 400
    }

如何解决这个问题。我将数据更改为这种格式qs.stringify()、JSON.stringfy(),但这是相同的错误

当我尝试使用Twilio Notify API执行类似操作时(但使用节点获取而不是Axios)


这里是Twilio开发者福音传道者

这里包含了Twilio节点库,但没有使用它。当您已经包含Twilio时,不必使用axios来构建此API调用。您可以发送一个新的验证,如下所示:

从“Twilio”导入*作为Twilio;
const client=Twilio(accountSid,authToken);
导出函数sendOtpForValidUser(userPhoneNumber:string){
返回client.verify.services(serviceSid).verifications.create({
收件人:userPhoneNumber,
频道:“短信”
})
。然后(消息=>{
console.log('Message',Message.status)
var status=message.status
返回状态
}) 
.catch(错误=>{
console.log(错误)
var状态=error.data
返回状态
});
}
const fetch = require('node-fetch');

const params = new URLSearchParams();
params.append('Body', 'Hello from Node-Fetch - It Works!');
params.append('ToBinding', '{ "binding_type": "sms", "address": "+1407xxxxxx" }');
params.append('ToBinding', '{ "binding_type": "sms", "address": "+1601xxxxxx" }');

let headers = {Authorization: 'Basic ' + new Buffer.from(process.env.TWILIO_ACCOUNT_SID + ":" + process.env.TWILIO_AUTH_TOKEN).toString("base64")};

console.log(`To String Output: ${params.toString()}`);

fetch('https://notify.twilio.com/v1/Services/ISxxxx/Notifications',
    {method: 'POST', headers: headers, body: params})
    .then(res => res.json())
    .then(json => console.log(json))
    .catch(err => console.log(err))