在Node.js中,我尝试使用Axios向Twilio发送POST请求,并向我的手机发送SMS消息。但我收到一个“错误:验证错误-没有提供凭据?下面是代码:
const body = {
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8',
Body: 'hi from vsc',
To: toNumber,
From: fromNumber,
};
const headers = {
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8',
Authorization: `Basic ${accountSID}:${authToken}`,
};
exports.axios = () => axios.post(`https://api.twilio.com/2010-04-01/Accounts/${accountSID}/Messages.json`, body, headers).then((res) => {
console.log(res, 'res');
}).catch((err) => {
console.log(err);
});
我也尝试在POSTMAN上使用相同的参数,POST请求成功。我也尝试将我的授权用户名和密码编码为Base 64,但没有成功。我写信给Twilio客户帮助,但还没有收到任何回复。
5条答案
按热度按时间6tr1vspr1#
Axios提供了
auth
选项,该选项接受带有username
和password
选项的对象。您可以将username
设置为您的帐户SID,将password
设置为您的授权令牌。headers对象应该作为第三个参数中的配置对象的headers参数发送到
axios.post
,如下所示:shyt4zoc2#
头实际上是配置的一个字段,尝试如下:
00jrzges3#
或者这个(调用Twilio端点的一般示例)
dsekswqp4#
工作代码:
m528fe3b5#
以前的解决方案对我不起作用。我遇到了
Can't find variable: btoa
错误或A 'To' phone number is required.
。使用
qs
对我很有效: