Meeting SDK Type and Version
@zoom/appssdk": "^0.16.10
Description
I want to create a list of “expected” users and use onParticipantChange
and getMeetingParticipants
to trigger checks of current users against some “master” list I will create.
I was hoping to have access to Zoom account email address or something for each participant, but understand if that’s not available. But my issue is a soft error:
Error?
Neither participantId
nor participantUUID
is consistent. When a logged-in user joins a meeting, leaves it, and joins back, despite the user being the same exact user, the data provided in these fields never matches across both “Join” events or the getMeetingParticipants
result.
I expected at least one of these properties to be consistent, considering the Zoom Meeting API says:
id : The participant’s universally unique ID. This value is the same as the participant’s user ID if the participant joins the meeting by logging into Zoom. If the participant joins the meeting without logging into Zoom, this returns an empty value.
and
participant_user_id: The participant’s universally unique ID (UUID):
- If the participant joins the meeting by logging into Zoom, this value is the id value in the Get a user API response.
- If the participant joins the meeting without logging into Zoom, this returns an empty string value.
Of course, I could just be looking in the wrong place, considering the SDK method’s return data’s property names don’t actually match the API’s property names, and are far fewer than the API returns.
Troubleshooting Routes
Have tried:
- Logging in via join link while logged out (does not provide “empty value”)
- Logging in via join link while logged in
- Logging in via meeting id and password while logged in
How To Reproduce
Simple code to log the results in the zoomapps-sample-js
repo after configuring the SDK in /public/index.js :
zoomSdk.onParticipantChange(async (data) => {
console.log('participant change -> ', data);
try {
const data = await zoomSdk.getMeetingParticipants();
console.log('participants -> ', data);
} catch (err) {
console.log({ err });
}
});