Xamarin形式:在Twilio中播放录音通话时出现问题



我使用Twilio API获取Twilio调用日志。我想要.mp3格式的相应通话录音。我们正在访问录制URL,但这是.json格式,所以我们用.mp3替换了.json,并添加了https://api.twilio.com在开始时使用以下代码

var recordings = RecordingResource.Read(
callSid: sid,
limit: 1
);, 
foreach (var item in recordings)
{
recordUrl = "https://api.twilio.com" + item.Uri.Replace(".json", ".mp3");
}

但是我们不能播放录音通话。

我们怀疑在媒体URL上强制HTTP身份验证当前其状态为"已启用"。如果我们禁用它,是否存在安全问题?禁用音频后,我们是否可以播放音频?如果我们从移动应用程序访问Twilio,应该在媒体URL上强制执行HTTP Auth状态?

禁用;在媒体URL上强制HTTP认证";选项,这样您就可以使用URL访问文件而无需身份验证。

当";在媒体URL上强制HTTP认证";选项被禁用,任何拥有帐户SID和录制SID的人都可以访问.mp3文件。另一方面,当启用该选项时,您可能必须使用您的帐户SID和身份验证令牌才能访问录制文件。

如果您需要使用HTTP基本身份验证来确保您的录制安全,我建议启用";在媒体URL上强制HTTP认证";选项,并下载发出HTTP请求的.mp3文件;下面是一个关于如何发出请求的代码示例。

using RestSharp;
using RestSharp.Authenticators;
using RestSharp.Extensions;
var client = new RestClient("https://api.twilio.com/2010-04-01/Accounts/ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/Recordings/RExxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.mp3​");
var request = new RestRequest(Method.GET);
client.Authenticator = new HttpBasicAuthenticator("Account_SID", "Token_Auth");
IRestResponse response = client.Execute(request);
client.DownloadData(request).SaveAs("/your_path/recording_file.mp3");

最新更新