我无法获得twilio的节点模块来获取可用的电话号码

时间:2016-02-24 06:59:46

标签: node.js api twilio

我直接从twilio api explorer获取以下代码

// Twilio Credentials 
var accountSid = 'A***************************b25'; 
var authToken = 'f5a***************************e2'; 


//require the Twilio module and create a REST client 
var client = require('twilio')(accountSid, authToken); 

client.availablePhoneNumbers('US').local.get({          
    excludeAllAddressRequired: "false", 
    excludeLocalAddressRequired: "false", 
    excludeForeignAddressRequired: "false" 
}, function(err, data) { 
    data.incomingPhoneNumbers.forEach(function(number) { 
     console.log(number.PhoneNumber); 
    }); 
});

但是我得到以下TypeError,导致来自sails.js的响应为500

client.availablePhoneNumbers(...).local.get is not a function.

我进入http://twilio.github.io/twilio-node/index.html直接查看图书馆,发现以下作品但返回404

client.availablePhoneNumbers.get(country).local.list(function(err,data){console.log(err,data)})

[Error: [404] Unable to fetch record.
{"code": 20404, "message": "The requested resource /2010-04-01/Accounts/US/AvailablePhoneNumbers/A***************************b25/Local.json was not found", "more_info": "https://www.twilio.com/docs/errors/20404", "status": 404}]

对此的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

Twilio开发者传道者在这里。

我只能道歉,通过我们对您的报告的调查,我们在与此API调用相关的文档中发现了许多问题。你能不能给我发电子邮件philnash@twilio.com,我们很乐意给你发一些东西让我们注意这个。

无论如何,你发现的问题。 API资源管理器代码不正确,因为它在回调中调用data.incomingPhoneNumbers,其中应该是data.availablePhoneNumbers。您还需要使用小写字母number.phoneNumber拨打电话" p"在回调中。请尝试使用此代码:

// Twilio Credentials 
var accountSid = 'A***************************b25'; 
var authToken = 'f5a***************************e2'; 

//require the Twilio module and create a REST client 
var client = require('twilio')(accountSid, authToken); 

client.availablePhoneNumbers('US').local.get({          
    excludeAllAddressRequired: "false", 
    excludeLocalAddressRequired: "false", 
    excludeForeignAddressRequired: "false" 
}, function(err, data) { 
    if (!err) {
        data.availablePhoneNumbers.forEach(function(number) { 
            console.log(number.phoneNumber); 
        }); 
    } else { 
        console.log("Error: ", err);
    }
});

我将报告API资源管理器代码和文档中的错误,因此希望没有其他人被此问题所困扰。

如果有帮助,请告诉我。

修改

这似乎是Twilio模块的3.0.0-rc1版本与旧的2.x系列不向后兼容之间的脱节。

我建议你降级到twilio@2.9.0并使用上面的代码。