Consulta de links de baixar arquivos de gravação
Descrição
Esta API é usada para consultar os links de baixar os arquivos de gravação de uma reunião.
- Somente administradores empresariais podem consultar links de baixar arquivos de gravação.
- Esta API está disponível apenas para algumas empresas. Entre em contato com a equipe de vendas da Huawei e forneça seu ID empresarial para solicitar esta API.
Depuração
Você pode depurar essa API no API Explorer.
Protótipo
Método de solicitação |
GET |
---|---|
Endereço de solicitação |
/v1/mmc/management/record/downloadurls |
Protocolo de transporte |
HTTPS |
Parâmetros de solicitação
Parâmetro |
Obrigatório |
Tipo |
Localização |
Descrição |
---|---|---|---|---|
confUUID |
Sim |
String |
Consulta |
UUID de uma reunião, que pode ser obtido seguindo as instruções fornecidas em Consulta da lista de arquivos de gravação. |
offset |
Não |
Integer |
Consulta |
Deslocamento do número de registros. |
limit |
Não |
Integer |
Consulta |
Número de registros a serem devolvidos. O valor máximo é 500. |
X-Access-Token |
Sim |
String |
Cabeçalho |
Token de autorização. Use o valor de accessToken na resposta à solicitação de Autenticação de um ID de aplicação. |
X-Authorization-Type |
Não |
String |
Cabeçalho |
Se a solicitação é enviada de um portal de terceiros. |
X-Site-Id |
Não |
String |
Cabeçalho |
ID do site do HCS on-line onde a autenticação é realizada. |
Códigos de status
Código de status HTTP |
Descrição |
---|---|
200 |
Operação bem-sucedida. |
400 |
Parâmetros inválidos. |
401 |
A autenticação não é executada ou falha. |
403 |
Permissões insuficientes. |
500 |
Exceção do servidor. |
Parâmetros de resposta
Parâmetro |
Tipo |
Descrição |
---|---|---|
recordUrls |
Array of DownloadInfo objects |
Links para baixar os arquivos de gravação. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
confUuid |
String |
UUID da reunião. |
urls |
Array of UrlInfo objects |
Baixar detalhes do link. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
token |
String |
Token usado para autenticação durante o download. (Um token é válido dentro de uma hora e expira imediatamente após ser usado.) |
fileType |
String |
Tipo de arquivo.
O tamanho de um arquivo MP4 não pode exceder 1 GB. |
url |
String |
URL de download do arquivo, que contém no máximo 1.000 caracteres. |
Exemplo de solicitação
GET /v1/mmc/management/record/downloadurls?confUUID=51adf610220411eaaae03f22d33cc26b Connection: keep-alive X-Access-Token: stbX5ElstO5QwOwPB9KGQWUZ1DHoFrTsQjjC user-agent: WeLink-desktop Host: api.meeting.huaweicloud.com User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_191)
Exemplo de resposta
HTTP/1.1 200 Date: Wed, 18 Dec 2019 06:20:40 GMT Content-Type: application/json;charset=UTF-8 Content-Length: 505 Connection: keep-alive Expires: 0 Pragma: No-cache Cache-Control: no-cache http_proxy_id: 4556e88832e5990723d1712395f5bee8 Server: api-gateway X-Request-Id: 629891c82bb852d8796e2f6acc74721e { "recordUrls": [ { "confUuid": "ef67f6ada67e11eba6374db4b9a61d2c", "urls": [ { "token": "f8fe906eaa6d690ef72bc831df54ffd9fc906412aefd329ace96d100cf1bc4be", "fileType": "Aux", "url": "https://100.85.230.37/download/typeThree/video/resource/00037/00037ed2-351a-4741-8ce6-a2078f21ba6b/videoAux/0_0.mp4" }, { "token": "ad8a6f6e009d643ca21f8be306e9e2cadd726360236f07bd176c1b85423b7136", "fileType": "Hd", "url": "https://100.85.230.37/download/typeThree/video/resource/00037/00037ed2-351a-4741-8ce6-a2078f21ba6b/videoHD/0_0.mp4" }, { "token": "fe7a59c69e3f97e831c83d55193a061e5e33e019f4704e5eb441c7f1fa629ad2", "fileType": "Sd", "url": "https://100.85.230.37/download/typeThree/video/resource/00037/00037ed2-351a-4741-8ce6-a2078f21ba6b/videoSD/0_0.mp4" }, { "token": "38e6b3fe7f7c62dd2141a408f4f64b911d1b58a5e04a4f6e0cfd2602181a8ad3", "fileType": "Aux", "url": "https://100.85.230.37/download/typeThree/video/resource/00037/00037ed2-351a-4741-8ce6-a2078f21ba6b/videoAux/0_1.mp4" }, { "token": "843731642aba1ebb720195a7c44f3f1e32ab409d29b2ecd1c58f30ee269f6da6", "fileType": "Hd", "url": "https://100.85.230.37/download/typeThree/video/resource/00037/00037ed2-351a-4741-8ce6-a2078f21ba6b/videoHD/0_1.mp4" }, { "token": "9fd3471e9dc047c3c345308f0cbed005f227bf48aa47875c7fe752c5a817cbd9", "fileType": "Sd", "url": "https://100.85.230.37/download/typeThree/video/resource/00037/00037ed2-351a-4741-8ce6-a2078f21ba6b/videoSD/0_1.mp4" } ] } ] }
Baixar arquivos de gravação
Depois de obter o link de download de um arquivo de gravação e o token de autenticação de download, você pode usar o seguinte código de exemplo (Java) para baixar o arquivo de gravação:
/** * Downloads a recording file. * * @param downloadUrl Link for downloading the recording file * @param localPath Local storage path * @param token Download authentication token */ public static void httpDownload(String downloadUrl, String localPath, String token) { int byteRead; try { URL url = new URL(downloadUrl); HttpsURLConnection connection = (HttpsURLConnection) url.openConnection(); // The request header carries the download authentication token. connection.setRequestProperty("Authorization", token); connection.setHostnameVerifier(new HostnameVerifier() { @Override public Boolean verify(String hostname, SSLSession sslSession) { return true; } }); TrustManager[] trustManagers = new TrustManager[]{ new X509TrustManager() { public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException { } public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException { } public X509Certificate[] getAcceptedIssuers() { return null; } } }; SSLContext ctx = SSLContext.getInstance("TLS"); ctx.init(null, trustManagers, null); connection.setSSLSocketFactory(ctx.getSocketFactory()); // Obtains the file stream. InputStream inStream = connection.getInputStream(); // Saves the file stream to a local path. FileOutputStream fs = new FileOutputStream(localPath); byte[] buffer = new byte[1024]; while ((byteRead = inStream.read(buffer)) != -1) { fs.write(buffer, 0, byteRead); } inStream.close(); fs.close(); } catch (IOException | KeyManagementException | NoSuchAlgorithmException e) { e.printStackTrace(); } }
Códigos de erro
Se um código de erro começando com MMC ou USG for retornado quando você usar essa API, corrija a falha seguindo as instruções fornecidas no Centro de erros da API da Huawei Cloud.
Exemplo de comando cURL
curl -k -i -X GET -H 'X-Access-Token:stbX5ElstO5QwOwPB9KGQWUZ1DHoFrTsQjjC' 'https://api.meeting.huaweicloud.com/v1/mmc/management/record/downloadurls?confUUID=51adf610220411eaaae03f22d33cc26b'