尝试通过API删除Twilio电话号码时出现404错误。
这是我的代码:
var twilioSID = user.numberSID; // PN946a0603c974be563c5916f865be4d0b
var accountSid = '{removed}';
var authToken = '{removed}';
var client = require('twilio')(accountSid, authToken);
client.incomingPhoneNumbers(twilioSID).delete(function(err, deleted) {
if (err){
console.log(err);
} else {
console.log('Deleted from Twilio');
}
});
这是我在控制台中遇到的错误:
{
status: 404,
message: 'The requested resource /2010-04-01/Accounts/{removed}/IncomingPhoneNumbers/PN946a0603c974be563c5916f865be4d0b.json was not found',
code: 20404,
moreInfo: 'https://www.twilio.com/docs/errors/20404'
}
Twilio API几乎没有任何删除数字的文档。关于为什么这不起作用的任何想法?
@parkeragee您的解决方案正在运行
client.incomingPhoneNumbers(poneNumberSID).delete(function(err, deleted) {
if (err){
console.log(err);
} else {
console.log('Deleted from Twilio');
}
});
他们在节点js模块中将其从删除更改为删除。
在撰写本文时,通过API删除Twilio电话号码的功能称为remove
。如果您尝试使用delete
,您应该收到以下错误:
client.incomingPhoneNumbers(...)。delete不是一个函数
我无法在Twilio API文档中找到任何参考;发现这是由reading the source, Luke。
这是一个调用remove
的示例:
client.incomingPhoneNumbers(sid).remove()
.then(function(deleted) {
// Success
})
.catch(function(error) {
// Handle error
});
根据他们的REST API documentation,您可以向/2010-04-01/Accounts/{AccountSid}/IncomingPhoneNumbers/{IncomingPhoneNumberSid}
等网址发送HTTP DELETE请求。所以错误消息中的URL看起来几乎是正确的,除了最后的.json
。无论哪种方式,如果电话号码实际上仍然附加到您的帐户,它看起来像是代码中的错误。
我的问题是我用我的测试电话号码覆盖了我的生产电话nuber numberSID
变量。所以我分配给变量的user.numberSID;
是Twilio测试电话号码。因此,当它搜索该numberSID时,它返回了404。