Agora Web SDK调用startChannelMediaRelay报invalid_appid错误排查
invalid_appid错误 针对你遇到的AgoraRTCError UNEXPECTED_RESPONSE: cross channel app center error, code: 400, reason: invalid_appid错误,除了你已经排查的点,还有以下几个容易忽略的检查项:
目标频道令牌的App ID一致性
生成目标频道的RTC令牌时,必须使用与源频道完全相同的App ID。如果目标频道属于另一个Agora项目(不同App ID),需要在Agora控制台为两个App ID开启跨App ID媒体转发权限,同时在addDestChannelInfo中显式指定目标频道的appId字段:config.addDestChannelInfo({ channelName: destChannel, uid: joinedUid, token: destToken, appId: "目标App ID" })未指定时SDK会默认用源频道的App ID验证目标令牌,直接触发
invalid_appid。SDK初始化的App ID验证
检查客户端初始化代码,确认AgoraRTC.createClient时传入的appId与令牌生成用的App ID完全一致,注意不要有大小写错误、空格或隐藏字符(复制粘贴时容易出现)。令牌与频道名的严格匹配
生成源、目标令牌时传入的频道名称,必须和转发配置里的channelName完全一致(包括大小写、特殊字符)。频道名不匹配会导致令牌验证失败,被服务器返回类似invalid_appid的权限错误。令牌的权限与有效期
确保生成的RTC令牌权限角色为Role.PUBLISHER或更高(需包含媒体转发权限),且令牌未过期。权限不足或过期的令牌也可能被服务器判定为无效请求。开发环境代理干扰
如果你的开发环境使用了代理,可能导致SDK向Agora服务器发送请求时,App ID参数被篡改或丢失。可以暂时关闭代理,直接连接网络测试是否解决问题。
建议你用Agora官网的令牌解码工具本地验证源、目标令牌的解码信息,确认App ID、频道名、UID、权限等参数完全符合预期。
内容的提问来源于stack exchange,提问作者AlexVu

