Node.js和twilio集成

时间:2012-08-03 17:21:01

标签: node.js integration twilio

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

我还没有网站。我应该为HOSTNAME提供什么值,以及SID和AUTH_TOKEN,这些值来自twilio网站。

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

app.js有以下条目,还需要做什么才能让twilio调用部分工作吗?

另外,我应该在哪里定义用于在views文件夹中呼叫电话的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();
        });
    });
});

1 个答案:

答案 0 :(得分: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();