twilio 错误 "accountSid must start with AC"

twilio error "accountSid must start with AC"

const express = require("express");
const app = express();
const PORT = 3000;
require("dotenv").config();
const accountSid = process.env.TWILIO_ACCOUNT_SID;
const authToken = process.env.TWILIO_TOKEN;
const client = require("twilio")(accountSid, authToken);

client.messages
  .create({
    to: process.env.NUMBER,
    from: "+18598006707",
    body: "Hello Kashif",
  })
  .then((message) => console.log(message.sid));

app.listen(PORT, () => {
  console.log("server is at", PORT);
});

我收到“accountSid 必须以 AC 开头”,即使我的 TWILIO_ACCOUNT_SID 包含 AC。

TWILIO_ACCOUNT_SID="ACa6213af064b**************";
TWILIO_TOKEN="b5e1f89ed92c7c5****************";
NUMBER="+91783******";

我可以假设您分享的第二个代码片段是您的 .env 文件吗? 如果是这样,则 .env 文件不支持分号。如果我将分号放在我的 .env 文件和 运行 你的脚本中,我会得到与你相同的错误。 尝试像这样更新您的 .env 文件:

TWILIO_ACCOUNT_SID="ACa6213af064b**************"
TWILIO_TOKEN="b5e1f89ed92c7c5****************"
NUMBER="+91783******"

一旦我这样做了,它就开始为我工作了。 要确认您的 .env 文件是否已正确加载,您可以尝试记录 accountSid 和来自 process.env 的其他变量,并验证它是否与您的 .env 文件值匹配。

上述错误的另一个原因可能是 .env 文件中的变量在终端中的变量值之前或之后,在这种情况下,可以通过 运行 source .env 解决。