Description
I am wondering if all the web SDK functions on the reference page work for webinars.
Specifically, ZoomMtg.getAttendeeslist()
Error
Calling ZoomMtg.getAttendeeslist({}) returns undefined.
I found another forum saying to try it like this:
ZoomMtg.getAttendeeslist({
success: function (res) {
console.log(res, "get getAttendeeslist");
}
});
This returns a result of This api dont support webinar.
I am wondering if I am doing something wrong, or if that function won’t work with a webinar meeting.
My end goal is to try muting users through the web SDK, but before I can do that, it seems I need their IDs, which can be retrieved by calling ZoomMtg.getAttendeeslist first. I’m wondering what other options I have, or if I am just using the SDK incorrectly.
Thank you for reaching out to the Zoom Developer Forum. It is expected that the ZoomMtg functions won’t work on the JavaScript console. This is because the packages you import into your application aren’t necessarily going to be available in the console. I tested calling the ZoomMtg.getAttendeeslist() function from the callback of the ZoomMtg.join() and it worked as expected.
How are you calling ZoomMtg.getAttendeeslist() and ZoomMtg.join()?
I can have the page do it on load (instead of using the developer console), but I continue to get This api dont support webinar.
Here’s my JavaScript:
ZoomMtg.preLoadWasm();
ZoomMtg.prepareJssdk();
window.onload = function(){
console.log("Hello from window onload");
joinMeeting("MY_SIGNATURE_GOES_HERE",
84438084965);
};
function joinMeeting(signature, meetingNumber){
ZoomMtg.init({
leaveUrl: "https://le.utah.gov",
// on success, call the join method
success: function(){
ZoomMtg.join({
signature: signature,
apiKey: "myApiKey",
meetingNumber: meetingNumber,
userEmail: "somebody@somewhere.com",
userName: "John B",
// on success, log it
success: function (res) {
console.log("Join meeting success");
someOtherFunction();
}
})
}
})
}
function someOtherFunction(){
console.log("In someOtherFunction()");
var x = ZoomMtg.getAttendeeslist({
success: function (res) {
console.log(res, "get getAttendeeslist");
}
});
console.debug(x);
}
Thank you for the update. I tested this again and realized that my test was using a meeting ID hardcoded from an earlier test so it wasn’t joining the webinar. When testing this with a webinar, I was able to confirm that this feature is not available for webinars as I got the same error as you. If you would like this feature to be considered for a future release, I recommend posting in the #feature-requests category.
In the meantime, you can use the Get Webinar Participants API in order to obtain similar information for an ongoing webinar.
When using a Webinar, attendees don’t have the ability to share video or audio. This means all attendees should be muted by default and there is actually no way to unmute them. If you are expecting participants to be able to speak at some points, you may want to look into using a meeting instead and using the muteAll() and mute() functions as necessary.
Maybe I’m misunderstanding. I want to mute/unmute panelists. We won’t be dealing with regular attendees since they already can’t speak.
I thought that getAttendeeslist() would get me everyone in the webinar, including panelists. Is that not right? Is there a way to get panelists for muting through the sdk?
Thank you for clarifying, that was my mistake for misunderstanding. I tested this on my device and was able to see that you cannot mute/unmute a panelist using the Web SDK. As panelists can only join from the Zoom Mobile App or Desktop Client, this shouldn’t pose too much of an issue as the Webinar host can mute and unmute panelists as needed. This does mean that it can’t be done programmatically, even with the API. If you would like this feature to be considered for a future release, I recommend posting in the #feature-requests category.