使用 Twilio 获取调用实例(节点帮助程序库 3.x)

Fetching a Call Instance with Twilio (Node Helper Library 3.x)

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() 方法 return 有效 JSON:

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

对于 3.xfetch() 方法取代了 get()(现在使用 promises)。使用 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 (https://api.twilio.com/2010-04-01/Accounts/xxx/Calls/xxx.json) 中的 uri 拼凑在一起,那么我可以得到旧的 JSON 响应我在找。

问题: Twilio Node Helper Library 3.x 是否有办法将 return 旧的有效 JSON 格式代替一个 CallInstance 对象?

此处为 Twilio 开发人员布道师。

版本 3 Twilio Node library doesn't return a plain JavaScript object and as far as I can see, looking through the code,您不能简单地使用库访问来自 API 的纯 JSON 响应。

您可以自己创建 URL 并向 API 发出请求 return 原始响应,使用类似这样的东西(使用与 Twilio 在引擎盖):

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 对象中提供了所有相同的数据,以及用于加载有关实例的更多或相关数据的更多方法。