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

基于Twilio Verify与Functions的手机号验证20404错误求助

解决Twilio Functions调用Verify API返回404的问题

你的问题核心是Verify API版本不匹配导致的资源找不到错误,下面拆解原因和修复步骤:

问题根源

你使用的是Verify v2服务(SID以VA开头),但Twilio Functions代码大概率调用了Verify v1的API路径——v1的服务SID以VE开头,API结构和v2完全不同。当你用v1的调用方式访问v2的服务资源时,Twilio就会返回20404错误,提示找不到请求的资源。

修复步骤

修改你的Twilio Functions代码,确保调用Verify v2的API:

错误的代码通常会缺少.v2前缀,类似这样:

// 错误示例:调用Verify v1 API
twilioClient.verify
  .services(context.VERIFY_SERVICE_SID)
  .verifications.create(...)

改成正确的v2调用方式,添加.v2前缀即可:

exports.handler = async function(context, event, callback) {
  const twilioClient = context.getTwilioClient();
  const phoneNumber = event.phoneNumber; // 确保获取到传入的手机号参数

  try {
    const verification = await twilioClient.verify.v2
      .services(context.VERIFY_SERVICE_SID)
      .verifications.create({
        to: phoneNumber,
        channel: 'sms' // 指定用SMS渠道发送TOTP
      });
    callback(null, { success: true, data: verification });
  } catch (err) {
    callback(null, { success: false, message: err });
  }
};

额外检查点

  1. 再次确认VERIFY_SERVICE_SID环境变量是v2服务的SID(VA开头),不是v1的VE开头
  2. 检查传入Functions的phoneNumber参数格式是否正确(必须带国家码,比如+1234567890)
  3. 无需额外配置SDK版本,目前Twilio Functions默认的SDK都支持Verify v2

修改完成后重新部署Functions,应该就能正常触发SMS TOTP的发送了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:40:53