You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Message Resource?API认证错误及Node.js实现咨询

解决Twilio消息状态查询的认证问题及Node.js实现

一、401认证错误的原因

你调用的Twilio API要求HTTP基本认证,必须在请求中携带你的Twilio Account Sid(作为用户名)和Auth Token(作为密码),你没提供这组凭证才会触发该错误。

二、修复API请求的认证问题

不管用哪种方式发起请求,都需要添加认证信息:

  • 用curl命令的格式:
    curl -u "你的Account Sid:你的Auth Token" "https://api.twilio.com/2010-04-01/Accounts/你的Account Sid/Messages/你的Message Sid.json"
    
  • 用Postman等工具时,在认证选项选择「Basic Auth」,填入Account Sid和Auth Token即可。

三、Node.js实现方式

方式1:使用Twilio官方SDK(推荐)

官方SDK已封装认证和请求逻辑,更简洁可靠:

  1. 先安装SDK:
    npm install twilio
    
  2. 编写查询代码:
    const twilio = require('twilio');
    
    // 替换为你的真实凭证和要查询的Message Sid
    const accountSid = '你的Account Sid';
    const authToken = '你的Auth Token';
    const targetMessageSid = '要查询的Message Sid';
    
    const client = twilio(accountSid, authToken);
    
    client.messages(targetMessageSid)
      .fetch()
      .then(message => {
        console.log('消息当前状态:', message.status);
        // 可按需获取其他消息详情
        console.log('消息详情:', {
          发送号码: message.from,
          接收号码: message.to,
          消息内容: message.body
        });
      })
      .catch(err => console.error('查询失败:', err));
    

方式2:使用Node.js原生HTTP模块

如果不想依赖SDK,可手动实现基本认证:

const https = require('https');

const accountSid = '你的Account Sid';
const authToken = '你的Auth Token';
const targetMessageSid = '要查询的Message Sid';

// 生成Base64编码的认证头内容
const authHeader = `Basic ${Buffer.from(`${accountSid}:${authToken}`).toString('base64')}`;

const requestOptions = {
  hostname: 'api.twilio.com',
  path: `/2010-04-01/Accounts/${accountSid}/Messages/${targetMessageSid}.json`,
  headers: { 'Authorization': authHeader }
};

https.get(requestOptions, (res) => {
  let responseData = '';
  res.on('data', chunk => responseData += chunk);
  res.on('end', () => {
    const result = JSON.parse(responseData);
    if (res.statusCode === 200) {
      console.log('消息当前状态:', result.status);
    } else {
      console.error('查询出错:', result);
    }
  });
}).on('error', err => console.error('请求异常:', err));

四、Twilio短信常见状态说明

  • queued:消息已排队等待发送
  • sending:正在发送过程中
  • sent:消息已成功发出
  • delivered:消息已送达接收方
  • undelivered:消息无法送达
  • failed:发送失败

内容的提问来源于stack exchange,提问作者user349557

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 16:55:36