#html5-audio #ringcentral #call-recording
#html5-audio #ringcentral #запись вызова
Вопрос:
При использовании журнала вызовов RingCentral для доступа к аудиофайлам записи вызовов в contentUri
объекте response.record[x].recording
предоставляется a, который указывает на двоичную форму звука вызова. Authorization
Заголовок API по-прежнему необходим для извлечения этого файла.
Возможно ли воспроизвести это в веб-приложении с использованием аудиоэлемента HTML5, чтобы нам не приходилось размещать / загружать звук вызова в нашу собственную систему. Похоже, что для этого нужно было бы избежать использования Authorization
заголовка и предоставить авторизацию каким-либо другим способом. Например:
<audio src="https://media.ringcentral.com/.../recording/{recordingId}"></audio>
Дополнительная информация о аудиоэлементе HTML5 доступна здесь:
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio
Ответ №1:
Можно воспроизвести запись вызова RingCentral с использованием аудиоэлемента HTML5 без самостоятельной загрузки и размещения аудиофайла. Авторизация по-прежнему требуется, поэтому ее необходимо передать с использованием подхода, отличного от заголовка HTTP.
Два подхода включают:
1) Токен доступа в строке запроса
Вы можете добавить маркер доступа к URL-адресу мультимедиа в качестве параметра запроса, чтобы у вас было что-то вроде:
<audio
src="https://media.ringcentral.com/.../{recordingId}?access_token=MyToken">
</audio>
Предостережение при таком подходе заключается в том, что URL перестанет работать, когда истечет срок действия токена доступа, обычно через час или меньше. Это полезно для эфемерных ссылок, таких как ссылки, зависящие от времени, в потоке чата, однако, в меньшей степени, если ссылку необходимо восстановить позже. Для этого смотрите следующий подход.
2) Токен доступа в файле cookie
Если вам нужен постоянный URL-адрес, срок действия которого не истекает, вы можете использовать прокси-службу, которая управляет аутентификацией для вас. Один из способов сделать это — использовать поток OAuth неявного предоставления доступа RingCentral на основе cookie для передачи токена доступа в службу прокси. Таким образом, при попытке получить медиафайл по URL (без токена) прокси-служба может проверить, присутствует ли файл cookie и действителен ли он. Если это не так, служба прокси может запросить успешное неявное предоставление входа в систему перед перенаправлением в медиафайл записи вызова. Пример реализации этого доступен здесь: