Xamarin 表单:在 Twilio 中播放录制的通话时出现问题
Xamarin forms: Issue while playing recorded calls in Twilio
我正在使用 Twilio API 获取 Twilio 通话记录。我想要 .mp3 格式的相应通话录音。我们正在访问录音网址,但这是 .json 格式,因此我们将 .json 替换为 .mp3 并使用以下代码在开头添加 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 身份验证状态?
禁用“在媒体 URLs 上强制执行 HTTP 身份验证”选项,以便您可以使用 URL 无需身份验证即可访问文件。
当禁用“在媒体 URLs 上强制执行 HTTP 身份验证”选项时,任何拥有帐户 SID 和记录 SID 的人都可以访问 .mp3 文件。另一方面,启用该选项后,您可能必须使用您的帐户 SID 和身份验证令牌才能访问录制文件。
如果您需要使用 HTTP 基本身份验证确保您的录音安全,我建议启用“在媒体 URLs 上强制执行 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");
我正在使用 Twilio API 获取 Twilio 通话记录。我想要 .mp3 格式的相应通话录音。我们正在访问录音网址,但这是 .json 格式,因此我们将 .json 替换为 .mp3 并使用以下代码在开头添加 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 身份验证状态?
禁用“在媒体 URLs 上强制执行 HTTP 身份验证”选项,以便您可以使用 URL 无需身份验证即可访问文件。
当禁用“在媒体 URLs 上强制执行 HTTP 身份验证”选项时,任何拥有帐户 SID 和记录 SID 的人都可以访问 .mp3 文件。另一方面,启用该选项后,您可能必须使用您的帐户 SID 和身份验证令牌才能访问录制文件。
如果您需要使用 HTTP 基本身份验证确保您的录音安全,我建议启用“在媒体 URLs 上强制执行 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");