加入频道失败 DYNAMIC_USE_STATIC_KEY
Posted
技术标签:
【中文标题】加入频道失败 DYNAMIC_USE_STATIC_KEY【英文标题】:join channel failed DYNAMIC_USE_STATIC_KEY 【发布时间】:2020-06-13 08:32:22 【问题描述】:我正在尝试使用 Agora.io 视频直播系统。但是我在开发人员控制台中收到以下错误。
点击加入按钮后出现以下错误。
Agora-SDK [ERROR]: [713FF] Get server node failed [DYNAMIC_USE_STATIC_KEY] https://webrtc2-ap-web-1.agora.io/api/v1 DYNAMIC_USE_STATIC_KEY agora.js:161:41
Agora-SDK [INFO]: [713FF] Join failed: DYNAMIC_USE_STATIC_KEY agora.js:155:41
[ERROR] : join channel failed DYNAMIC_USE_STATIC_KEY live:1146:15
我必须在agora 管理面板上进行安排。我做错了什么。
var rand = <?php echo rand(1111111,9999999); ?>;
var agoraAppId = 'API ID HERE'; // set app id
var channelName = "stream_<?php echo $creatorUserID;?>_"+rand; // set channel name
// join a channel
function joinChannel()
var token = generateToken();
var userID = 0; // set to null to auto generate uid on successfull connection
// set the role
client.setClientRole('host', function()
console.log('Client role set as host.');
, function(e)
console.log('setClientRole failed', e);
);
// client.join(token, 'allThingsRTCLiveStream', 0, function(uid)
client.join(token, channelName, userID, function(uid)
createCameraStream(uid, );
localStreams.uid = uid; // keep track of the stream uid
console.log('User ' + uid + ' joined channel successfully');
$('#main_live_video').html('')
$('#publishBtn').removeAttr('disabled');
$('#publishBtn').text("Please Wait");
$('#publishBtn').addClass('hidden');
$('.end_vdo_call').removeClass('hidden');
$.post(requestUrl + "?f=live", stream_name: channelName, function(data, textStatus, xhr)
if (data.status == 200)
$('#live_post_id').val(data.post_id);
);
, function(err)
console.log('[ERROR] : join channel failed', err);
);
function generateToken()
return null; // TODO: add a token generation
【问题讨论】:
【参考方案1】:您收到的错误是因为您尝试使用启用了令牌身份验证的 AppID,但在加入频道时未传递令牌。
要解决这个问题,您通常有三个选择:
创建一个新项目并生成一个新的 AppID。打开Project Management tab within the Agora Console。单击屏幕左上角的“创建”按钮。在对话框中,确保选择底部选项。
使用Project Management tab within the Agora Console 在您的项目上生成一个临时令牌(有效期为 24 小时)。请按照以下步骤操作:
选择生成临时令牌选项 输入频道名称并生成令牌 使用您的令牌字符串更新generateToken
函数,而不是返回 null。
function generateToken()
return null; // add a token string here
-
实现令牌服务器并生成动态令牌。更多详情请查看:
Agora Guide on token generation
GitHub repo with the token server Code for PHP。
添加 PHP 脚本以在
generateToken
函数中生成令牌以返回您的令牌字符串,而不是返回 null。
function generateToken()
return null; // add a token string here
第二个选项不适用于您的实现,因为您正在使用用户名生成频道名称并附加随机值。生成临时令牌时,您需要知道通道的名称。
【讨论】:
以上是关于加入频道失败 DYNAMIC_USE_STATIC_KEY的主要内容,如果未能解决你的问题,请参考以下文章