首页 > 解决方案 > “错误:21211 'To' 号码不是有效的电话号码”,Twilio 使用 Node.js

问题描述

下图是我的前端设计:

在此处输入图像描述

这是我的 Node.js 脚本:

const express = require('express');
const cors = require('cors');
const twilio = require('twilio');

const accountSid = 'ACf230d111a9b9e90dxxxxxxxxxxxxxxxx';
const authToken = '3ed072e00862729axxxxxxxxxxxxxxxx';
const client = require('twilio')(accountSid, authToken);

const app = express();

app.use(cors());  // blocks browser from restricting any data

app.get('/', (req, res) => {
    res.send('Welcome to the Express Server')
})

app.get('/send-text', (req, res) => {
    // GET variables, passed via query string
    const { recipient, textmessage } = req.query;
    console.log(req.query);

    // Send text
    client.messages.create({
        body: textmessage,
        to: '+1' + recipient,
        from: '+15593134060'
    }).then((message) => console.log(message.body)).catch(e => { console.error('Got an error:', e.code, e.message); });
})

app.listen(4000, () => console.log("Running on Port 4000"));

出于安全目的,我将“x”放在 Twilio sid 和令牌的一部分上。

我希望当我按下Send Text按钮时,我希望将消息发送给自己,因为我对“from”和“to”使用相同的数字。

但是,我收到了以下错误:

在此处输入图像描述

我认为格式是正确的,但我不知道为什么 Twilio 告诉我这个数字无效。我用我朋友的电话号码测试,结果是一样的。有谁知道出了什么问题?

请注意,我只是注册了 Twilio 帐户,只是复制并粘贴了 Sid 和令牌,我没有进行任何配置。此外,我在这里使用的号码是我的实际电话号码,而不是 Twilio 号码。我在手机上测试过,我可以给自己发消息并看到消息。

标签: javascriptnode.jstwilio

解决方案


根据Twilio 的错误代码页,您尝试从 Twilio 号码向自身发送消息或拨打电话。您必须使用to参数作为目标号码,并且from参数必须是您拥有的 Twilio 电话号码。 更多信息


推荐阅读