问题描述
我正在尝试在 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 复制不是代码块格式的代码示例时。