问题描述
我正在尝试在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写的指南。