Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 无法检索/下载实际的记录媒体_Node.js_Twilio_Twilio Api - Fatal编程技术网

Node.js 无法检索/下载实际的记录媒体

Node.js 无法检索/下载实际的记录媒体,node.js,twilio,twilio-api,Node.js,Twilio,Twilio Api,我试图检索录制的媒体,但在打印response.body时,此操作不起作用,并且未定义。Twilio developer evangelist在此 抱歉,这是我们文档中的一个错误。调用client.request是一个异步调用,返回一个Promise 请尝试以下方法: const Twilio = require('twilio'); const request = require('request'); const apiKeySid = 'SKXXXXXXXXXXXXXXXXXXXXXXX

我试图检索录制的媒体,但在打印response.body时,此操作不起作用,并且未定义。

Twilio developer evangelist在此

抱歉,这是我们文档中的一个错误。调用
client.request
是一个异步调用,返回一个
Promise

请尝试以下方法:

const Twilio = require('twilio');
const request = require('request');

const apiKeySid = 'SKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
const apiKeySecret = 'your_api_key_secret';
const accountSid = 'ACb46a83261c60f3a45ce47eccac8a913d';
const client = new Twilio(apiKeySid, apiKeySecret, { accountSid: 
accountSid });

const roomSid = 'RMXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
const recordingSid = 'RTXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
const uri = 'https://video.twilio.com/v1/' +
        `Rooms/${roomSid}/` +
        `Recordings/${recordingSid}` +
        '/Media';
const response = client.request({ method: "POST", uri: uri });
const mediaLocation = JSON.parse(response.body).location;

request.get(mediaLocation, (err, res, media) => {
console.log(media);
});

我已经开始了。

@philnash我尝试了上面的代码块,但得到的“mediaLocation”未定义。

JSON.parse(response.body).location更改为JSON.parse(response.body)。重定向到,它就可以工作了。

client.request({ method: "GET", uri: uri }).then(response => {
  const mediaLocation = JSON.parse(response.body).location;
  request.get(mediaLocation, (err, res, media) => {
    console.log(media);
  });
});
答复:

 client.request({ method: "GET", uri: uri }).then((response) => {
 const mediaLocation = JSON.parse(response.body).redirect_to;
 request.get(mediaLocation, (err, res, media) => {
  console.log(media);
 });
});
{ statusCode: 302,
body: '{"redirect_to": 
"https://xxxxxxxxxxxxx.s3.amazonaws.com/xxxxxxxxxxxxxxxxxxxxx…….”}’ }