API - 您的 AccountSid 或 AuthToken 不正确

问题描述

我正在尝试在 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 免费试用帐户。我已经放弃了故障排除。任何建议将不胜感激。

解决方法

错误消息显示 JSON 表示反斜杠被解释为 URL。

您说您在命令提示符下使用的是 Windows 10,反斜杠 curl: (6) Could not resolve host: \ 在 Linux 的 Bash 中用于将长命令拆分为多行。如果您使用的是 Windows,则需要将 \ 替换为 \,请参阅此 SO question

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

^
,

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

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