У меня проблема с получением записей в Twilio Video API.
Я использую С# в бэкэнде и успешно получил записи комнат.
const string apiKeySid = "SKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
const string apiKeySecret = "byt32MXXXXXXXXXXXXXXXXXXXXX";
TwilioClient.Init(apiKeySid, apiKeySecret);
string recordingSid = sample.RecordingSid;
var uri = $"https://video.twilio.com/v1/Recordings/{recordingSid}/Media";
var response = TwilioClient.GetRestClient().Request(new Request(HttpMethod.Get, uri));
var mediaLocation =JsonConvert.DeserializeObject<Dictionary<string, string>>(response.Content)["location"];
using (var webClient = new System.Net.WebClient())
{
string mediaContent = webClient.DownloadString(uri);
}
Это мой код для загрузки записи с серверов Twilio.
Ответ
Content: "\u001aEߣ\u0001\0\0\0\0\0\0\u0014B��matroska\0B��\u0002B��...." A very long text which I think is an mkv file
StatusCode: OK
ОШИБКА
var mediaLocation =JsonConvert.DeserializeObject<Dictionary<string, string>>(response.Content)["location"];
Поскольку содержимое содержит тарабарщину, код не работает, начиная с этой строки.
Что я пробовал 1) Попытался скопировать содержимое, вставить его в Блокнот, а затем сохранить файл в Unicode, а также в коде ASCII, изменить формат файла на «.mkv» и попробуй запустить. P.S. Не работает. 2) Пытался загрузить файл (как из моего кода C #, так и вручную в браузере) из "https://video.twilio.com/v1/Recordings/{recordingSid}/Media"
, выдает ошибку «Требуется аутентификация» 3) Пытался изо всех сил преобразовать строку в mkv, но безрезультатно.
Что говорится в официальной документации
{
"location": "https://com.twilio.dev-us1.video.recording.s3.amazonaws.com/RTXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
} Это не то, что возвращает API, возможно, они недавно изменили его, но им следует обновить его в своей документации.
В чем мне нужна помощь. Если вы уже использовали Twilio Video API, не могли бы вы рассказать мне, как я могу получить запись с сервера Twilio, предполагая, что у меня есть SID комнаты и SID записи.
Заранее спасибо :)