我使用这个API来获取Twilio调用日志。我想要相应通话的录音作为mp3文件。我们正在访问subresource_uris
下recordings
的录制URL,但这是.json文件。根据这个线程,我们用.mp3替换了.json,并添加了https://api.twilio.com一开始。如果我们试着播放录音,它就不会播放。
目前,记录URL可用于所有通话记录,但只有少数通话启用了通话记录。那么,我们如何区分通话是否被录音呢?
这里是Twilio开发人员的传道者。
据我所知,您正试图访问C#中通话的录音文件。您可以通过请求通话的录音资源来获得通话录音列表:
string accountSid = Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID");
string authToken = Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN");
TwilioClient.Init(accountSid, authToken);
var recordings = RecordingResource.Read(
callSid: "CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
limit: 20
);
// print out each recording's URI
foreach(var record in recordings)
{
Console.WriteLine(record.Uri);
}
如果您用一个有录音的调用Sid运行上述操作,那么您将看到录音的URI被打印出来。它们看起来像:
/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Recordings/REXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.json
这是您应该使用的URI,前缀为https://api.twilio.com
,并将扩展名从.json
更改为.mp3
,以便获得录制文件。因此,对于上面的例子,请求:
https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Recordings/REXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.mp3
因此,如果您使用API获取通话日志以获取通话SID,然后调用每个通话的录音资源,您就可以获得录音列表并构造URI来下载每个录音音频文件。