Twilio - 获取通话录音请求不起作用

问题描述 投票:0回答:1

我正在尝试将包含通话录音的音频文件附加到电子邮件中。

我的代码适用于公共网址中的音频文件,但不适用于 Twilio 通话录音。 我确信问题出在身份验证上,所以我尝试将其添加到我的代码中,但现在它不再工作了。

我的代码现在是什么样子:

// configure authentication
var auth = "Basic " + Buffer.from(context.accountSid + ":" + context.authToken).toString("base64");
headers = {'Authorization': 'Basic ' + auth};

 // request with authentication
url = 'https://api.twilio.com/2010-04-01/Accounts/AC..../Recordings/' + event.recordingSid + '.mp3';
responseResource = request.get(url, headers=headers);

// get audio file and attach to mail
request.get({ uri: responseResource, encoding: null }, (error, response, body) => {
    const msg = {
        // some configuration for message
        attachments: [
          {
              content: body.toString('base64'),
              filename: 'Call.mp3',
              type: "audio/mpeg"
          }
        ]
    };

    // send mail 
  });
};

我收到的当前错误代码是“已编辑 - 可能包含安全敏感信息”,而且还有“消息”:“self.uri.auth.split 不是函数”。

node.js authentication twilio get-request voice-recording
1个回答
0
投票

我会首先更改您的处理错误并使用

request
lib 来处理它,然后调用

const request = require('request');

const auth = "Basic " + Buffer.from(context.accountSid + ":" + context.authToken).toString("base64");
const headers = {'Authorization': auth};

const url = 'https://api.twilio.com/2010-04-01/Accounts/AC..../Recordings/' + event.recordingSid + '.mp3';

request.get({
    url: url,
    headers: headers,
    encoding: null  // Important to get binary data
}, (error, response, body) => {
    if (error) {
        console.error(error);
        return;
    }

    if (response.statusCode !== 200) {
        console.error("Failed to fetch Twilio recording:", response.statusCode, response.statusMessage);
        return;
    }


    const msg = {
        attachments: [
            {
                content: body,
                filename: 'Call.mp3',
                encoding: 'base64',
                type: "audio/mpeg"
            }
        ]
    };

    // send mail using your sendMail function or library
    // sendMail(msg);
});
© www.soinside.com 2019 - 2024. All rights reserved.