即使App ID看起来正确,Agora Web SDK的 startChannelMediaRelay仍然因为UNEXPECTED_RESPONSE invalid_appid而失败
我正在构建一个演示Agora直播应用,使用 agora-rtc-sdk-ng(Web、React、Vite)。
我的流程:
- 以主持人身份加入源频道
- 从本地Node令牌服务器生成RTC令牌(
agora-token) - 调用
startChannelMediaRelay将媒体从源频道转发到目标频道
在调用relay时我一直收到这个错误:
AgoraRTCError UNEXPECTED_RESPONSE: cross channel app center error, code: 400, reason: invalid_appid
我已经验证了以下几点:
- 前端VITE_AGORA_APP_ID与后端令牌服务器的App ID相同
- 源令牌和目标令牌都是从我的令牌服务器生成的
- 为源端和目标端的relay配置使用相同的UID
- 在调用relay之前等待client.connectionState === "CONNECTED"
- 修改环境变量后已重启开发服务器和令牌服务器
当前relay调用模式(简化):
const config = AgoraRTC.createChannelMediaRelayConfiguration()
config.setSrcChannelInfo({
channelName: sourceChannel,
uid: joinedUid,
token: srcToken,
})
config.addDestChannelInfo({
channelName: destChannel,
uid: joinedUid,
token: destToken,
})
await client.startChannelMediaRelay(config)
问题:
对于Web通道媒体中继,是否还有可能导致invalid_appid的额外要求?
如有需要,我可以分享更多日志/代码。
解决方案
Web通道媒体中继中的 invalid_appid 错误通常发生在用于生成源令牌或目标令牌的App ID与前端中的App ID不匹配时。请确保两个令牌来自同一个App ID,且这些通道属于同一个Agora项目。同时,请再次确认主机UID与源端UID相匹配,且令牌尚未过期。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。