我是bigbluebutton的新手。我已在Ubuntu服务器上成功安装了bbb并启用了API演示。它工作正常。我正在从c#调用API,它也可以正常工作。我正在创建一个如下所示的会议,一切正常。
public CreateMeetingResponse CreateMeeting(CreateMeetingRequest request)
{
var qb = new QueryStringBuilder
{
{"meetingID", request.MeetingID},
{"name", request.Name},
{"attendeePW", request.AttendeePW},
{"moderatorPW", request.ModeratorPW},
{"record", request.Record.ToString()},
{"allowStartStopRecording", request.AllowStartStopRecording.ToString()},
{"autoStartRecording", request.AutoStartRecording.ToString()},
{"voiceBridge", request.VoiceBridge.ToString()},
{"welcome", request.Welcome},
{"recordingmarks", "true"},
{"logoutURL", request.LogoutURL}
};
qb.Add("checksum", GenerateChecksum("create", qb.ToString()));
var createRequest = new RestRequest($"/api/create?{qb}", Method.GET);
var response = Client.Execute<CreateMeetingResponse>(createRequest).Data;
return response;
}
创建会议后,我正尝试加入会议,如下所示。
public JoinMeetingResponse JoinMeeting(JoinMeetingRequest request)
{
var qb = new QueryStringBuilder
{
{"meetingID", request.MeetingID},
{"fullName", request.FullName},
{"userId", request.UserID},
{"password", request.Password},
{"joinViaHtml5","true" },
{"redirect","false" },
{"guest","true" }
};
qb.Add("checksum", GenerateChecksum("join", qb.ToString()));
var joinRequest = new RestRequest($"/api/join?{qb}", Method.GET);
var joinResponse = Client.Execute<JoinMeetingResponse>(joinRequest);
return new JoinMeetingResponse();
}
bbb服务器API的响应为“成功”,消息为“您已成功加入”。但是,当我尝试打开会议或使用URL加入时,它显示UNAUTHORIZED401。“由于缺少凭据,身份验证失败。”
我打开浏览器控制台,它显示:
[18:07:28:0290] DEBUG: clientLogger: Initial connection status change. status: connecting, connected: false https://bbb.adorasoft.net/html5client/7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:121:1031295
7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:9 [18:07:28:0970] DEBUG: clientLogger: Initial connection status change. status: connected, connected: true https://bbb.adorasoft.net/html5client/7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:121:1031295
7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:9 [18:07:28:0971] INFO: clientLogger: Connection to Meteor took 0.68s https://bbb.adorasoft.net/html5client/7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:121:1031466
7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:9 [18:07:29:0142] ERROR: clientLogger: User faced an error on main.joinRouteHandler. g.fetchToken (https://bbb.adorasoft.net/html5client/7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:121:1033747)
7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:9 [18:07:29:0144] ERROR: clientLogger: Encountered error while trying to authenticate t (https://bbb.adorasoft.net/html5client/7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:121:999188)
7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:9 [18:07:29:0146] ERROR: clientLogger: User could not log in HTML5, hit 401 z.renderByState (https://bbb.adorasoft.net/html5client/7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:121:1206397)
7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:9 [18:07:29:0327] ERROR: clientLogger: User could not log in HTML5, hit 401 z.renderByState (https://bbb.adorasoft.net/html5client/7df6acf6cb0f651dba4e71b3adac0efd23889793.js?meteor_js_resource=true:121:1206397)
我做错了什么?
答案 0 :(得分:2)
因此,在投入足够的时间后,我得到了解决方案。 bigBlueButton没有问题。问题是来自服务器端的“加入” API请求。
“加入请求应从客户端/浏览器发出”
所以我要做的是代替传递XML响应,而只需要传递整个蓝色的大按钮,即用Checksum连接URL并重定向= true 因此,只要有人想加入,他们就会直接重定向到会议。