繁体   English   中英

Node.js Twilio使用REST API进行调用

[英]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: &lt;?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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM