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();
嗨,非常感谢您的快速回复。我是node.js和twilio的新手,在此代码中没有提及twilio。 twilio在这里不是必需的吗? – 2012-08-03 20:15:49
嗨,我正在使用Node.js express,在app.js – 2012-08-03 20:33:40
上面的代码片段展示了如何发布到twilio api以便发出电话。您可以在选项中看到主机是api.twilio.com。这是一个独立的示例,您可以直接将其复制到一个空的.js文件,保存并运行它。一旦你这样做,你可以将该文件包含在快速项目中。 – Don 2012-08-04 01:15:17