我正在尝试模拟Twilio REST API调用以发送SMS消息。我在这里的所有代码示例都已经过编辑。
Twilio提供此CURL调用:
curl -X POST 'https://api.twilio.com/2010-04-01/Accounts/[[ sid ]]/Messages.json' \
--data-urlencode 'To=##########' \
--data-urlencode 'From=+#########' \
--data-urlencode 'Body=hi' \
-u [[ sid ]]:[AuthToken]
所以我在我的元素中尝试以下内容:
<iron-ajax
auto
url="https://@api.twilio.com/2010-04-01/Accounts/[[ sid ]]/Messages.json"
headers='{"Authorization": "Basic [[authHash]]"}'
handle-as="json"
content-type="application/json"
last-response="{{twilioResponse}}"
method="POST"></iron-ajax>
使用以下JS来支持它:
ready: function() {
document.querySelector('iron-ajax').params = {
"To": "+###########",
"From": "+###########",
"Body": "want to play"
}
}
我收到了这个错误:
{"code": 21603, "message": "A 'From' phone number is required.", "more_info": "https://www.twilio.com/docs/errors/21603", "status": 400}
我已经尝试过将字符串化的JSON放在元素的属性中。这不起作用!但任何其他帮助将不胜感激。
答案 0 :(得分:1)
原来我发送的身体格式错误了。它不是JSON,而是需要在URI编码的字符串中。
因此,返回我的autobind: false
元素:
iron-ajax
应该成为
body='{ "JSON": "format" }'