Meeting activity report - username and email

When using the CDN version of the Web SDK (1.8.6) should participants email appear in the Admin / Account Management / Active Hosts / Participants report?

We have meetings where people can join:

  1. via logging into their Zoom account (and we see these emails),
  2. via the browser (no email given so of course can’t see these emails) or
  3. via the Web SDK built into our website where our website populates the “display_name” field and the “meeting_email” field. The “display_name” is flowing through to the participants report but the “meeting_email” is not. If it helps, we are setting “meeting_role” to 0, “meeting_china” to 0 and meeting_lang to “en-US”.

Just wanting to understand if this is an error or functionality that does not yet exist?

Thank you for any help,

Kind regards

Richard

Hey @richard2 ,

The email should come through to the reports. Can you share the ZoomMtg.join code snippet so I can see how you are passing it in?

Thanks,
Tommy

We are working in php so the index file has:

To give you an example of what $zoomdetails contains

$zoomdetails[0]=“ABC”;

$zoomdetails[1]="";

$zoomdetails[2]="";

$zoomdetails[3]=“Fake User Name”;

$zoomdetails[4]="";

$zoomdetails[5]=“00”; //meeting id

$zoomdetails is actually populated via a mysqli_query:

$zoomdetails=mysqli_fetch_row(mysqli_query(dbconn, "SELECT * FROM UserDetailsForZoom WHERE myprimary='" . _GET[‘myp’] . “’”)); //myprimary, zoommeetingid, zoompassword, username, email

When we download the report from Zoom website after the meeting the “display_name” is showing but not the “meeting_email”.

Does that give you what you need?

Kind regards

Richard Russell

Hey @richard2 ,

I need your Web SDK ZoomMtg.Join code snippet like this so I can see what you are passing in:

Thanks,
Tommy

Its in meeting.js (from sample app) and is:

function websdkready() {
var testTool = window.testTool;
// get meeting args from url
var tmpArgs = testTool.parseQuery();
var meetingConfig = {
apiKey: tmpArgs.apiKey,
meetingNumber: tmpArgs.mn,
userName: (function () {
if (tmpArgs.name) {
try {
return testTool.b64DecodeUnicode(tmpArgs.name);
} catch (e) {
return tmpArgs.name;
}
}
return (
“CDN#” +
tmpArgs.version +
“#” +
testTool.detectOS() +
“#” +
testTool.getBrowserInfo()
);
})(),
passWord: tmpArgs.pwd,
leaveUrl: “/index.php”,
role: parseInt(tmpArgs.role, 10),
userEmail: (function () {
try {
return testTool.b64DecodeUnicode(tmpArgs.email);
} catch (e) {
return tmpArgs.email;
}
})(),
lang: tmpArgs.lang,
signature: tmpArgs.signature || “”,
china: tmpArgs.china === “1”,
};

// a tool use debug mobile device
if (testTool.isMobileDevice()) {
// vConsole = new VConsole();
}
console.log(JSON.stringify(ZoomMtg.checkSystemRequirements()));

// it’s option if you want to change the WebSDK dependency link resources. setZoomJSLib must be run at first
// ZoomMtg.setZoomJSLib(“https://source.zoom.us/1.8.6/lib”, “/av”); // CDN version defaul
if (meetingConfig.china)
ZoomMtg.setZoomJSLib(“https://jssdk.zoomus.cn/1.8.6/lib”, “/av”); // china cdn option
ZoomMtg.preLoadWasm();
ZoomMtg.prepareJssdk();
function beginJoin(signature) {
ZoomMtg.init({
leaveUrl: meetingConfig.leaveUrl,
webEndpoint: meetingConfig.webEndpoint,
success: function () {
console.log(meetingConfig);
console.log(“signature”, signature);
ZoomMtg.i18n.load(meetingConfig.lang);
ZoomMtg.i18n.reload(meetingConfig.lang);
ZoomMtg.join({
meetingNumber: meetingConfig.meetingNumber,
userName: meetingConfig.userName,
signature: signature,
apiKey: meetingConfig.apiKey,
userEmail: meetingConfig.userEmail,
passWord: meetingConfig.passWord,
success: function (res) {
console.log(“join meeting success”);
console.log(“get attendeelist”);
ZoomMtg.getAttendeeslist({});
ZoomMtg.getCurrentUser({
success: function (res) {
console.log(“success getCurrentUser”, res.result.currentUser);
},
});
},
error: function (res) {
console.log(res);
},
});
},
error: function (res) {
console.log(res);
},
});

ZoomMtg.inMeetingServiceListener('onUserJoin', function (data) {
  console.log('inMeetingServiceListener onUserJoin', data);
});

ZoomMtg.inMeetingServiceListener('onUserLeave', function (data) {
  console.log('inMeetingServiceListener onUserLeave', data);
});

ZoomMtg.inMeetingServiceListener('onUserIsInWaitingRoom', function (data) {
  console.log('inMeetingServiceListener onUserIsInWaitingRoom', data);
});

ZoomMtg.inMeetingServiceListener('onMeetingStatus', function (data) {
  console.log('inMeetingServiceListener onMeetingStatus', data);
});

}

beginJoin(meetingConfig.signature);
};

Only thing I changed is line 31 where I changed the leaving URL to
leaveUrl: “/index.php”,

Hey @richard2,

Thank you for the update. I was able to reproduce this behavior using v1.9.0 and our Sample Web App. I don’t think this is expected so I’ve reached out to our engineering team for more insight.

I’ll let you know when I have more information. (CS-2977)

Thanks,
Max

2 Likes

Appreciate your help (both you and Tommy), thank you

2 Likes

Hey @richard2,

I know I speak for both of us when I say we’re happy to help! We’ll keep you posted.

Thanks,
Max

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.