2012-08-03 77 views
1

我想要集成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(); 
        }); 
    }); 
}); 

回答

4

的主機名是 '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