如何解决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写的指南。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。