1

我正在尝试将 twilio 与 Node.js+express 集成。

我还没有网站。我应该为 HOSTNAME 提供什么值,以及 SID 和 AUTH_TOKEN,这些值是我从 twilio 站点获得的。

我已经编写了一些代码,无论下面给出的任何建议都放在 twiclient.js 中的 views 文件夹中,我已经在 app.js 中添加了一条路由,以在 /twi 被调用时重定向请求,但我没有得到任何结果。控制台中出现了一些错误,请您帮我弄清楚我做错了什么?我已经放置了正确的 SID、令牌和主机名,如下所示。

app.js 有以下条目,是否需要为 twilio 调用部分执行其他操作?

另外,我应该在哪里定义用于在视图文件夹中调用电话的 GUI?

var TwilioClient = require('twilio').Client,
      Twiml = require('twilio').Twiml,
      sys = require('sys');
var client = new TwilioClient('MY_ACCOUNT_SID', 'MY_AUTH_TOKEN', 'MY_HOSTNAME');

var phone = client.getPhoneNumber('+2323232323');
phone.setup(function() { phone.makeCall('+15555555555', null, function(call) {});
phone.setup(function() {
    phone.makeCall('+15555555555', null, function(call) {
        call.on('answered', function(callParams, response) {
            response.append(new Twiml.Say('Hey buddy. Let\'s meet for drinks later tonight.'));
            response.send();
        });
    });
});
4

1 回答 1

4

主机名是“api.twilio.com”。您的 SID 和 AUTH_TOKEN 来自您的 twilio 帐户。登录后,转到仪表板。您会在此处找到您的 SID 和 AUTH_TOKEN。

这是我用来向 twilio 发出呼叫请求的代码。它应该可以帮助您入门。

var https = require('https');
var qs = require('querystring');

var api = 'your api key';
var auth = 'your auth token';

var postdata = qs.stringify({
    'From' : '+5554321212',
    'To' : '+5552226262',
    'Url' : 'http://yourwebsite.com/call'
});

var options = {
    host: 'api.twilio.com',
    path: '/2010-04-01/Accounts/<your api key>/Calls.xml',
    port: 443,
    method: 'POST',
    headers: {
        'Content-Type' : 'application/x-www-form-urlencoded',
        'Content-Length' : postdata.length
    },
    auth: api + ':' + auth
};

var request = https.request(options, function(res){
    res.setEncoding('utf8');
    res.on('data', function(chunk){
        console.log('Response: ' + chunk);
    })
})

request.write(postdata);
request.end();
于 2012-08-03T18:37:50.040 回答