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

Json 使用Twilio(Node Helper Library 3.x)获取调用实例,json,node.js,twilio,twilio-api,Json,Node.js,Twilio,Twilio Api,并对其3.x版本进行了一些更改。我过去常常通过以下方式获得一个电话的详细信息: client.calls(sid).get(function(err, call) { if(!err) { console.log(call); } }); 使用时,get()方法返回有效的JSON: {“sid”:“xxxx”,“创建日期”:“xxxx”,“更新日期”:“xxxx”… 对于,使用fetch()方法替换get()(现在使用承诺)。使用fetch(),我现在得到的不是

并对其3.x版本进行了一些更改。我过去常常通过以下方式获得一个电话的详细信息:

client.calls(sid).get(function(err, call) {
    if(!err) {
        console.log(call);
    }
});
使用时,
get()
方法返回有效的JSON:

{“sid”:“xxxx”,“创建日期”:“xxxx”,“更新日期”:“xxxx”…

对于,使用
fetch()
方法替换
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
CallInstance
()中的
uri
拼凑在一起,那么我就可以得到我正在寻找的旧JSON响应


问题:Twilio Node Helper Library 3.x是否有方法返回旧的有效JSON格式,而不是
CallInstance
对象?

Twilio开发者布道者

版本3没有返回纯JavaScript对象,就我所见,您不能简单地使用库从API访问纯JSON响应

您可以自己创建URL并请求API返回原始响应,如下所示(使用Twilio在引擎盖下使用的相同方法):


顺便说一句,我想了解您需要原始JavaScript对象做什么?所有相同的数据都在
CallInstance
对象中提供,以及加载更多或与实例相关的数据的进一步方法。

不知道OP,但我想要原始对象的原因是因为库公开的对象是不可JSON序列化。这是公平的,尽管编写一个函数从所需的库对象提取数据并自己进行序列化很简单。除非我希望Twilio返回的对象准确无误,否则不必从公开的对象重建它。那么,自己调用API可能是你最好的选择在这种情况下。
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);
});