使用Twilio获取调用实例(Node Helper Library 3.x)

时间:2017-05-24 15:12:16

标签: json node.js twilio twilio-api

Twilio is deprecating Node Helper Library 2.x on 8/31/2017并使用他们的3.x版本进行了一些更改。我过去常常通过以下方式获取单个电话的详细信息:

client.calls(sid).get(function(err, call) {
    if(!err) {
        console.log(call);
    }
});

使用2.xget()方法返回有效的JSON:

{"sid": "xxxx", "date_created": "xxxx", "date_updated": "xxxx",...

使用3.xfetch()方法取代get()(现在使用的是承诺)。使用fetch(),而不是收到有效的JSON响应,我现在正在获取JavaScript CallInstance对象:

CallInstance {
  _version:
   V2010 {
     _domain:
      Api {
        twilio: [Object],
        baseUrl: 'https://api.twilio.com',
        _v2010: [Circular] },
     _version: '2010-04-01',
     _accounts: undefined,
     _account:
      AccountContext {
        _version: [Circular],
        _solution: [Object],
        ...

如果我将baseUrl加上uri CallInstance中的CallInstance拼凑起来,那么我就可以获得我正在寻找的旧JSON响应。

问题: Twilio Node Helper Library 3.x是否有办法返回旧的有效JSON格式而不是=IF(AND([earliest date]<=[check date],[latest date]>=[check date]),"Yes","No")对象?

1 个答案:

答案 0 :(得分:0)

Twilio开发者传道者在这里。

版本3 Twilio Node library没有返回纯JavaScript对象,据我所知looking through the code,您无法从API访问普通的JSON响应使用图书馆。

您可以自己创建URL并向API发出请求以返回原始响应,使用类似的内容(使用Twilio在引擎盖下使用的request library):

var request = require('request');

var accountSid = YOUR_ACCOUNT_SID;
var authToken = YOUR_AUTH_TOKEN;

var callSid = CALL_SID;

var url = 'https://api.twilio.com/2010-04-01/Accounts/'+ accountSid +'/Calls/'+ callSid +'.json';

request.get(url, {
  'auth': {
    'user': accountSid,
    'pass': authToken,
    'sendImmediately': true
  }
}, function (error, response, body) {
  console.log(body);
});

顺便说一句,我想了解您需要原始JavaScript对象的内容? CallInstance对象中提供了所有相同的数据,以及用于加载有关实例的更多或相关数据的其他方法。