【发布时间】:2017-03-22 22:38:41
【问题描述】:
我有这个 IBAction,应该只是测试发送 SMS:
let todosEndpoint: String = "https://api.twilio.com/2010-04-01/Accounts/\(ACCOUNT_SID)/Messages.json"
let message = ["To": "+1555...5555", "From": "+555...5555", "Body": "Hello!"]
for item in message {
print(item)
}
Alamofire.request(todosEndpoint, method: .post, parameters: message, encoding: JSONEncoding.default)
.authenticate(user: ACCOUNT_SID, password: ACCESS_TOKEN)
.responseJSON { response in
debugPrint(response)
}
但是,我得到了这样的回应:
[Result]: SUCCESS: {
code = 21603;
message = "A 'From' phone number is required.";
"more_info" = "https://www.twilio.com/docs/errors/21603";
status = 400;
}
我确定我提供了正确的电话号码和身份验证,并且我使用 python 来测试使用我的 API 密钥和电话号码发送消息。 我的字典的结构是错误的还是什么? 感谢您的帮助!
【问题讨论】:
-
Twilio 期望 POST 参数作为 form-urlencoded 值传递。看起来您正在对它们进行 JSON 编码。看看这篇文章:twilio.com/blog/2016/11/…
-
谢谢!我所要做的就是将 JSONEncoding 更改为 URLEncoding...
标签: ios swift sms twilio alamofire