[英]Node.js Twilio make calls using REST API
我正在尝试从Twilio REST API进行调用,但出现错误,好像错过了一些东西,任何帮助将不胜感激:
var options = { method: 'POST',
url: 'https://xxxxxxxxxxxx@api.twilio.com/2010-04-01/Accounts/xxxxxxxxxxx/Calls',
headers:
{
'Cache-Control': 'no-cache',
'content-type': 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' },
formData:
{ To: '+919200070974',
From: '14245060471',
Url: '<?xml version="1.0" encoding="UTF-8"?>\n<Response>\n <Say voice="woman">This is me....</Say>\n</Response>'} };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
现在,我设置了网址参数,但显示无效
<?xml version='1.0' encoding='UTF-8'?>
<TwilioResponse>
<RestException>
<Code>21205</Code>
<Message>Url is not a valid url: <?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say voice="woman">This is me....</Say>
</Response></Message>
<MoreInfo>https://www.twilio.com/docs/errors/21205</MoreInfo>
<Status>400</Status>
</RestException>
</TwilioResponse>
我没有到达必须设置URL参数的位置,我在文档中没有清楚地找到必须设置的内容。
twilio已经有一个npm库。
您可以按照他们的Node.js指南
// Twilio Credentials
const accountSid = 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
const authToken = 'your_auth_token';
// require the Twilio module and create a REST client
const client = require('twilio')(accountSid, authToken);
client.messages
.create({
to: '+15558675310',
from: '+15017122661',
body: 'This is the ship that made the Kessel Run in fourteen parsecs?',
})
.then(message => console.log(message.sid));
Twilio开发人员布道者在这里。
在这种情况下,您需要做的是向Twilio发送一个URL。 呼叫连接后,Twilio将向该URL发出请求以获取TwiML响应。
从文档中 :
通过REST API发起调用时,Twilio会对在“ Url” POST参数的值中找到的URL发出同步HTTP请求,以便检索TwiML来处理该调用。 该请求与Twilio在接到您的Twilio号码之一的电话时发送的请求相同。 网址必须包含有效的主机名(不允许使用下划线)。
因此,此处的formData
应该是:
formData: {
To: '+919200070974',
From: '14245060471',
Url: 'https://example.com/twiml'
}
并且位于https://example.com/twiml
的URL应使用您最初定义的TwiML进行响应。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.