API - 您的 AccountSid 或 AuthToken 不正确

API - Your AccountSid or AuthToken was incorrect

我正在尝试在 Windows 10 中使用 Twilio API 发送 SMS 消息。我在 CMD 中输入以下请求:

curl "https://api.twilio.com/2010-04-01/Accounts/ACAccount SID/Messages.json" -X POST \
--data-urlencode "To=+Phone number" \
--data-urlencode "From=+Phone number" \
--data-urlencode "Body=Ahoy" \
-u Account SID:Auth Token

而我遇到:

{"code": 20003, "detail": "Your AccountSid or AuthToken was incorrect.", "message": "Authentication Error - No credentials provided", "more_info": "https://www.twilio.com/docs/errors/20003", "status": 401}curl: (6) Could not resolve host: \

我从提供的 url 中查找了错误消息,但我无法获得太多信息。我验证了 Auth 令牌和 SID 是正确的。如果有不同,我正在使用 Twilio 免费试用帐户。我已经放弃了故障排除。任何建议将不胜感激。

尝试使用 API Explorer、消息 -> Create a Message。查看是否有效,如果有效,请单击 Show your Auth Token 按钮并比较它使用的 cURL 结构与您正在使用的结构。

此外,虽然您的示例代码看起来很干净,但出现此问题的另一种常见方式是智能引号潜入,例如当您从 Slack 复制非代码块格式的代码示例时。

错误消息显示 curl: (6) Could not resolve host: \ 表明反斜杠被解释为 URL。

你说你在命令提示符中使用 Windows 10,反斜杠 \ 在 Bash 和 Linux 中用于将长命令拆分为多行.如果您使用的是 Windows,则需要将 \ 替换为 ^,请参阅 SO question

所以这应该在命令提示符中的 Windows 10 下工作:

curl "https://api.twilio.com/2010-04-01/Accounts/ACAccount SID/Messages.json" -X POST ^
  --data-urlencode "To=+Phone number" ^
  --data-urlencode "From=+Phone number" ^
  --data-urlencode "Body=Ahoy" ^
  -u Account SID:Auth Token