Agora 云端录制 API 查询(获取请求)响应 404

Posted

技术标签:

【中文标题】Agora 云端录制 API 查询(获取请求)响应 404【英文标题】:Agora Cloud Recording API query (get request) responding 404 【发布时间】:2020-12-08 13:39:05 【问题描述】:

我正在使用 Agora Cloud Recording Postman Collection 并获得 200 用于获取和启动(POST 请求)并进入频道。

当我调用查询(GET 请求)时,我在响应中得到 "code": 404。 我正在使用 AWS S3 作为我的云存储,我可以使用 AccessKey 和 Secret 保存其他文件,所以我认为 storageConfig 没有问题...

在 start... 的请求正文中我缺少什么吗?或者是否有任何可能的原因导致我的查询得到 404?我的请求正文是


    "cname": "AccessChannel",
    "uid": "RecordingUID",
    "clientRequest": 
        "recordingConfig": 
            "channelType": 0,
            "streamTypes": 2,
            "audioProfile": 1,
            "videoStreamType": 0,
            "maxIdleTime": 120,
            "transcodingConfig": 
                "width": 360,
                "height": 640,
                "fps": 30,
                "bitrate": 600,
                "maxResolutionUid": "1",
                "mixedVideoLayout": 1
            
        ,
        "storageConfig": 
            "vendor": StorageVendor,
            "region": StorageRegion,
            "bucket": "Bucket",
            "accessKey": "AccessKey",
            "secretKey": "SecretKey"
        
    

我的环境设置。 Acquire 和 Start 响应为 200,但我在 Query 和 Stop 的响应中得到 404。

environment setting

acquire response is 200

start response is 200

I get code: 404 in the response of query

Also for stop

【问题讨论】:

请确保您使用的是有效的配置,因为无效的配置可能会导致'start'方法响应200 OK,但由于配置无效而无法开始录制。在这种情况下,如果您“查询”状态,您将得到 404 not found,因为没有与该 sid 和资源 ID 关联的记录。 【参考方案1】:

https://docs.agora.io/en/cloud-recording/cloud_recording_api_rest?platform=RESTful

开始使用 POST 而不是 GET 这就是你得到 404 的原因,没有支持 GET 的端点

【讨论】:

我使用 POST 请求开始。当我调用需要方法的查询时,我得到 404:GET docs.agora.io/en/cloud-recording/… 请添加邮递员截图,以便我们现在可以知道你在做什么 你是先发帖开始录制的吗?您提到的那个端点只有在录制正在进行时才有效 感谢您的回复。我为每个电话添加了图片。我首先做一个帖子来获取,然后我打电话开始。我确保进入要播放的频道,但即使开始响应为 200,也无法录制。 你是按顺序执行 aquire,start , do GET order 吗?【参考方案2】:

以下是您获得 404 的一些可能原因:https://docs.agora.io/en/cloud-recording/faq/return-404。

通过查看您的转码配置,您的转码配置似乎设置不正确。您将需要切换配置的宽度和高度。确保您的所有转码参数符合下表:https://docs.agora.io/en/cloud-recording/recording_video_profile?platform=RESTful

另外,当您的mixedVideoLayout1 时,您不应该提供maxResolutionUid

您可能会收到此错误的另一个原因是您在 agora 项目中启用了应用程序证书。如果有,则需要在此请求的正文中指定令牌。您可以在此处查看相关的 API 参考:https://docs.agora.io/en/cloud-recording/cloud_recording_api_rest?platform=RESTful#a-namestartastart-cloud-recording

【讨论】:

非常感谢您的友好解释。令牌是我需要包含在开始正文中的东西。在我解决了 code: 404 问题后,我收到了 "code": 435 作为 stop 的响应,尽管我在频道中并且我可以从我的手机上看到我的网络流。这是否意味着我给出了错误的 cname ...?我正在提供作为主持人通过网络流式传输的频道名称。 您在使用网页客户端和云端录制时,是否确保App ID和频道名称相同?

以上是关于Agora 云端录制 API 查询(获取请求)响应 404的主要内容,如果未能解决你的问题,请参考以下文章

Agora.io:在云录制中获取 POST 调用 REST API 时遇到问题

Agora 云录制无法正常工作。正常启动和获取工作,但是我没有得到任何视频文件并查询和停止返回错误404

录制 Agora 时只获得一个屏幕

如何在 Flutter 中实现 Agora 云录制 api?

Agora 云录制不录制发布者(直播中的主播)

请求AppDataFolder时,Google云端硬盘API会返回错误“无效值”和“无效查询”