When calling the Create Meeting API, I’m scheduling a meeting with start_time selected from a calendar control, and passing it to the back-end for calling the API.
app.post('/meeting', (req, res) => {
console.log("Start date = " + req.body.start_time); // prints "2022-08-17T14:00"
var options = {
method: "POST",
uri: "https://api.zoom.us/v2/users/" + email + "/meetings",
body: {
topic: "My topic",
start_time: req.body.start_time,
timezone: "Australia/Sydney",
type: 2,
default_password: false,
duration: 40,
settings: {
host_video: "true",
participant_video: "true",
},
},
auth: {
'bearer': token
},
headers: {
'User-Agent': 'Zoom-api-Jwt-Request',
'content-type': 'application/json'
},
json: true
};
etc
Response:
{
uuid: 'Uimr3qXfTkmNKldBbcnt6g==',
id: 85939021364,
host_id: 'nm7n_nOkQRWwdcrU6FaD1w',
host_email: [...],
topic: 'My topic',
type: 2,
status: 'waiting',
start_time: '2022-08-16T04:19:08Z', // why did it become current time in GMT?
duration: 40,
timezone: 'Australia/Sydney',
created_at: '2022-08-16T04:19:08Z',
start_url: [...],
password: 'aLdvH8',
h323_password: '950774',
pstn_password: '950774',
encrypted_password: 'RDBLQXdZQy9tRmpHYjFyUjVDWkl2Zz09',
settings: {
host_video: true,
participant_video: true,
cn_meeting: false,
in_meeting: false,
join_before_host: false,
jbh_time: 0,
mute_upon_entry: false,
watermark: false,
use_pmi: false,
approval_type: 2,
audio: 'voip',
auto_recording: 'none',
enforce_login: false,
enforce_login_domains: '',
alternative_hosts: '',
alternative_host_update_polls: false,
close_registration: false,
show_share_button: false,
allow_multiple_devices: false,
registrants_confirmation_email: true,
waiting_room: false,
request_permission_to_unmute_participants: false,
registrants_email_notification: true,
meeting_authentication: false,
encryption_type: 'enhanced_encryption',
approved_or_denied_countries_or_regions: { enable: false },
breakout_room: { enable: false },
alternative_hosts_email_notification: true,
device_testing: false,
focus_mode: false,
private_meeting: false,
email_notification: true,
host_save_video_order: false
},
pre_schedule: false
}
I pass the start_date in the correct format (yyyy-MM-ddTHH:mm:ss without Z) and using timezone, but it ignores it and uses the current time instead, appending Z to it in GMT format. What am I doing wrong? I looked at many similar posts but didn’t find a solution.
I noticed one thing though: in older similar posts there’s screenshots of the create meeting API with start_time as “string” (example), but the current API says “date-time” instead of “string”. So am I passing the wrong type? If so, how do I convert it to the right type and format?