Agora.io:在云录制中获取 POST 调用 REST API 时遇到问题
Posted
技术标签:
【中文标题】Agora.io:在云录制中获取 POST 调用 REST API 时遇到问题【英文标题】:Agora.io : Having issue with acquire POST call REST API in cloud recording 【发布时间】:2020-08-17 12:29:35 【问题描述】:我正在尝试在 Agora.io 视频通话中设置云录制。根据 agora docs 第一步是调用获取 API。
最初我遇到了未转义字符的问题是使用 axios NodeJS 的 URL,所以我使用 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
我收到此回复
Error: Request failed with status code 400
我在agora控制台开启了云录制,还是同样的错误。
【问题讨论】:
【参考方案1】:我建议您查看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 写的指南。
【讨论】:
以上是关于Agora.io:在云录制中获取 POST 调用 REST API 时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章