【发布时间】:2023-01-14 08:03:57
【问题描述】:
在 Node.js 中,我正在尝试使用 Axios 向 Twilio 发送 POST 请求,并向我的手机发送短信。但我收到“错误:身份验证错误 - 未提供凭据?”这是代码:
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 客户帮助,但尚未收到任何回复。
【问题讨论】:
-
不是直接的答案,但是您是否有理由选择不为此使用 twilio 的 Node sdk? twilio.com/docs/libraries/node
-
是的,我以前使用过 sdk,但是我有很多请求被执行,当我编写测试和制作包装函数时,axios 是一个更好的选择。
-
也许你需要 base64 编码:${accountSID}:${authToken}
-
授权:
Basic ${base64.encode(${process.env.TWILIO_ACCOUNT_SID}:${process.env.TWILIO_AUTH_TOKEN}`