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'