Twilio - 如何通过在 NodeJs 中提供呼叫 SID 来检索语音呼叫记录媒体文件
Posted
技术标签:
【中文标题】Twilio - 如何通过在 NodeJs 中提供呼叫 SID 来检索语音呼叫记录媒体文件【英文标题】:Twilio - How to retrieve the voice call recording media file by providing the call SID in NodeJs 【发布时间】:2019-11-19 01:23:51 【问题描述】:我想在我的应用程序中播放 Twilio 录音媒体文件/url,我在 nodejs 中使用twilio-node 包。
let response = new VoiceResponse();
response.dial(
callerId: process.env.TWILIO_NUMBER,
record: true
, req.body.number);
res.type('text/xml');
res.send(response.toString());
我使用上面的示例启用录制并且它正在工作,但挑战是通过 API 提供调用 SID 或录制 SID 来获取媒体文件,我没有找到任何示例来获取录制 SID 或录制媒体通过提供调用 SID 文件。
let client = twilio(TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN)
let callLogData = await client.calls(callSid).fetch().then(data => return data )
我可以使用上面的示例获取通话记录,我尝试了 Twilio 文档中提到的多种方法,但我猜该包与文档不兼容。我没有使用可编程语音,而是使用 Twilio 直接呼叫个人电话。
【问题讨论】:
【参考方案1】:第 1 步:
将是“获取给定通话的所有录音”,如此处所述 (https://www.twilio.com/docs/voice/api/recording-resource?code-sample=code-get-all-recordings-for-a-given-call-3&code-language=Node.js&code-sdk-version=3.x)
// Download the helper library from https://www.twilio.com/docs/node/install
// Your Account Sid and Auth Token from twilio.com/console
// DANGER! This is insecure. See http://twil.io/secure
const accountSid = 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
const authToken = 'your_auth_token';
const client = require('twilio')(accountSid, authToken);
client.recordings
.list(callSid: 'CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', limit: 20)
.then(recordings => recordings.forEach(r => console.log(r.sid)));
第 2 步:
一旦您获得了录制 ID(上述步骤中的 r.sid),您就可以例如通过 GET 请求获取录制的 .mp3
GET /2010-04-01/Accounts/ACXXXXX.../Recordings/RE557ce644e5ab84fa21cc21112e22c485.mp3
如此处所述 (https://www.twilio.com/docs/voice/api/recording-resource?code-sample=code-fetch-a-recording&code-language=Node.js&code-sdk-version=3.x)
注意:
获取录音的 mp3 的完整 URL 如下所示:
https://api.twilio.com/2010-04-01/Accounts/ACXXXXX.../Recordings/RE557ce644e5ab84fa21cc21112e22c485.mp3
【讨论】:
谢谢亚历克斯。这对我来说是完美的解决方案,我以为每个通话只能有一个录音 ID,所以我没有尝试client.recordings.list
来获得相同的结果,为什么只有这个 /2010-04-01/
日期?
该日期(basePath
)是 Twilio API 基本 URL 的一部分,与通话或录音的日期无关。以上是关于Twilio - 如何通过在 NodeJs 中提供呼叫 SID 来检索语音呼叫记录媒体文件的主要内容,如果未能解决你的问题,请参考以下文章
通过 zapier 发送 vcard 时如何解决 Twilio SMS 发送错误
javascript 在Nodejs中使用Express的Axios HTTP请求。 5Way HTTP-RequestsLIST:https://www.twilio.com/blog/2017/0