Node.js和twilio集成

问题描述:

我想要集成twilio和Node.js + express。Node.js和twilio集成

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

我已经写了一些代码,无论以下给出的建议我已经放置在twiclient.js中的视图文件夹中,如果/ twi被调用,我在app.js中添加了一个路径来重定向请求,但是我没有任何结果。一些错误出现在控制台中,请你帮我弄清楚我做错了什么?我已经放置了正确的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(); 
        }); 
    }); 
}); 

的主机名是 'api.twilio.com'。您的SID和AUTH_TOKEN来自您的twilio帐户。登录时,转到仪表板。你会在那里找到你的SID和AUTH_TOKEN。

下面是我用来发出请求以拨打电话的代码。它应该可以帮助你开始。

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(); 
+0

嗨,非常感谢您的快速回复。我是node.js和twilio的新手,在此代码中没有提及twilio。 twilio在这里不是必需的吗? – 2012-08-03 20:15:49

+0

嗨,我正在使用Node.js express,在app.js – 2012-08-03 20:33:40

+0

上面的代码片段展示了如何发布到twilio api以便发出电话。您可以在选项中看到主机是api.twilio.com。这是一个独立的示例,您可以直接将其复制到一个空的.js文件,保存并运行它。一旦你这样做,你可以将该文件包含在快速项目中。 – Don 2012-08-04 01:15:17