Agora.io:在云记录中获取POST调用REST API有问题

问题描述

我正在尝试在Agora.io视频通话中设置云记录。根据agora docs,第一步是调用获取API。 最初,我有一个无法转义的字符问题,那就是使用axios NodeJS的URL,因此我使用static来绕过该错误。我的请求配置如下

encodeURI

我得到这个回应 { "url":"https://api.agora.io%E2%80%8B/v1%E2%80%8B/apps%E2%80%8B/xxxxxxx_APPID_xxxx%E2%80%8B/cloud_recording%E2%80%8B/acquire","method":"post","data":"{\"cname\":\"5f30xxxx-xx33-xxa9-adxx-xxxxxxxx\",\"uid\":\"75\",\"clientRequest\":{\"resourceExpiredHour\":24}}","headers":{ "Accept":"application/json,text/plain,*/*","Content-Type":"application/json;charset=utf-8","Authorization":"Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","User-Agent":"axios/0.19.2","Content-Length":102 },"transformRequest":[ null ],"transformResponse":[ null ],"timeout":0,"xsrfCookieName":"XSRF-TOKEN","xsrfHeaderName":"X-XSRF-TOKEN","maxContentLength":-1 }

我在agora控制台中启用了云记录,仍然是相同的错误。

解决方法

我建议您看看Agora Postman Collection,它有助于提供格式正确的请求。

在您的请求中您缺少了

例如,您的请求应如下所示:

var axios = require('axios');
var data = JSON.stringify({"cname":"demo","uid":"527841","clientRequest":{ "resourceExpiredHour": 24}});

var config = {
  method: 'post',url: 'https://api.agora.io/v1/apps/<xxxx_APPID_xxxx>/cloud_recording/acquire',headers: { 
    'Content-Type': 'application/json','Authorization': 'Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
  },data : data
};

axios(config)
.then(function (response) {
  console.log(JSON.stringify(response.data));
})
.catch(function (error) {
  console.log(error);
});


这是我为getting started with the Postman Collection for Agora's Cloud Recording写的指南。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...