Recurring meeting: How "GET Date From - To and Time"

Description

I have some Meeting with predefined parameters:

  • Topic
  • Date Time {From - To} and Time Zome

— Notice —

  • If I set checkbox “Recurring meeting” - ON
    then I can’t find the Date Time {From - To}
    inside responses zoom.us API

I try APIs:

  • GET /users/{my_email}/meetings?type=upcoming
  • GET /meetings/{my_meeting_id} <— Start time 0001-01-01T00:00:00Z
  • GET /metrics/meetings/{my_meeting_id} <— here may be cashed? (no mutate on editing)

I can’t find any way for fetching the Date/Time start-end for such “Recurring meeting” meetings =(

I use JWT APP Type.

How To Reproduce (If applicable)

  • GET /users/{my_email}/meetings?type=upcoming <— no Start Time (but can have Duration)
  • GET /meetings/{my_meeting_id} <— Start Time is zeroTime
  • GET /metrics/meetings/{my_meeting_id} <— no any of Start / End / Duration in response

return undefined items:

  "start_time"
  "end_time"

Screenshots (If applicable)

Снимок экрана 2020-01-15 в 17.12.35

Additional context

See the sheme response 200:
https://marketplace.zoom.us/docs/api-reference/zoom-api/meetings/meeting

PROBLEM GET /meetings/{meetingId}:

response not contains the Objects:

occurrences
recurrence

in Meeting object returned.

Hey @a.koval,

For GET /metrics/meetings/{meetingId} you can only get past or live meetings with this endpoint.

For GET /users/{userId}/meetings it returns the parent meeting, note the "type" is 8 in the response which means it is a recurring meeting with a fixed time. The "start_time" is the last instance of the meeting.

For GET /meetings/{meetingId} it returns all the recurrences for the meeting including the start_time and the duration. You can figure out the end_time by adding the duration to the start_time.

This is the endpoint you should use.

Here is an example payload:

{
    "uuid": "2bvHsBG2TCOwie9HPBk7kA==",
    "id": 981393872,
    "host_id": "KdYKjnimT4KPd8KKdQt9FQ",
    "topic": "My Meeting",
    "type": 8,
    "status": "waiting",
    "timezone": "America/Denver",
    "agenda": "",
    "created_at": "2020-01-15T18:03:06Z",
    "start_url": "https://tommygaessler.zoom.us/s/981393872?zak=token",
    "join_url": "https://tommygaessler.zoom.us/j/981393872?pwd=eUh1UzA5enJ1OFFlbjlxTitLL3ZBZz09",
    "password": "576909",
    "h323_password": "576909",
    "pstn_password": "576909",
    "encrypted_password": "eUh1UzA5enJ1OFFlbjlxTitLL3ZBZz09",
    "occurrences": [
        {
            "occurrence_id": "1579114800000",
            "start_time": "2020-01-15T19:00:00Z",
            "duration": 60,
            "status": "available"
        },
        {
            "occurrence_id": "1579201200000",
            "start_time": "2020-01-16T19:00:00Z",
            "duration": 60,
            "status": "available"
        },
        {
            "occurrence_id": "1579287600000",
            "start_time": "2020-01-17T19:00:00Z",
            "duration": 60,
            "status": "available"
        },
        {
            "occurrence_id": "1579374000000",
            "start_time": "2020-01-18T19:00:00Z",
            "duration": 60,
            "status": "available"
        },
        {
            "occurrence_id": "1579460400000",
            "start_time": "2020-01-19T19:00:00Z",
            "duration": 60,
            "status": "available"
        },
        {
            "occurrence_id": "1579546800000",
            "start_time": "2020-01-20T19:00:00Z",
            "duration": 60,
            "status": "available"
        },
        {
            "occurrence_id": "1579633200000",
            "start_time": "2020-01-21T19:00:00Z",
            "duration": 60,
            "status": "available"
        }
    ],
    "settings": {
        "host_video": true,
        "participant_video": true,
        "cn_meeting": false,
        "in_meeting": false,
        "join_before_host": true,
        "mute_upon_entry": false,
        "watermark": false,
        "use_pmi": false,
        "approval_type": 2,
        "audio": "both",
        "auto_recording": "none",
        "enforce_login": false,
        "enforce_login_domains": "",
        "alternative_hosts": "",
        "close_registration": false,
        "registrants_confirmation_email": true,
        "waiting_room": false,
        "global_dial_in_countries": [
            "US"
        ],
        "global_dial_in_numbers": [
            {
                "country_name": "US",
                "city": "San Jose",
                "number": "+1 6699006833",
                "type": "toll",
                "country": "US"
            },
            {
                "country_name": "US",
                "city": "New York",
                "number": "+1 9292056099",
                "type": "toll",
                "country": "US"
            }
        ],
        "registrants_email_notification": true,
        "meeting_authentication": false
    },
    "recurrence": {
        "type": 1,
        "repeat_interval": 1,
        "end_date_time": "2020-01-22T06:59:00Z"
    }
}

Let me know if that helps!

Thanks,
Tommy

Hi, Tommy!
Thanks for answer.

Tiny clarification:

(1) For GET /metrics/meetings/{meetingId} you can only get past or live meetings …

you absolutely right! My mistake, I am not attentive(

(2) For GET /users/{userId}/meetings it returns the parent meeting, note the "type" is 8

my meeting has type = 3 not 8
(may be it sense)

  • meeting created not from web, it was created by Zoom APP or Outlook plugin

  • then create from web Date Time allready required → filled (Reccurring meeting)

    {
    “type”: 3,

    “created_at”: “2020-01-15T13:23:15Z”,
    “host_id”: “K7icS3UaRbipb9mib7P2VA”,
    “id”: 896172137,
    “status”: “waiting”,
    “timezone”: “Europe/Moscow”,
    “topic”: “Конференция Zoom Алексей Коваль”,
    “uuid”: “SmKm2FvqRO6v6BSwTAtemQ==”
    }

(3) For GET /meetings/{meetingId} it returns all the recurrences for the meeting including the start_time and the duration

I try request

GET /users/{userId}/meetings?type=upcoming

   {
    "page_count": 1,
    "page_number": 1,
    "page_size": 30,
    "total_records": 2,
    "meetings": [ {
        
        "type": 3,
        "start_time": "0001-01-01T00:00:00Z",
        "duration": 1,
        
        "created_at": "2020-01-15T13:23:15Z",
        "host_id": "K7icS3UaRbipb9mib7P2VA",
        "id": 896172137,
        "join_url": ["https://tinkoff.zoom.us/j/896172137"](https://tinkoff.zoom.us/j/896172137), "start_time": "0001-01-01T00:00:00Z",
        "timezone": "Europe/Moscow", "topic":
        "Конференция Zoom Алексей Коваль",
        "uuid": "SmKm2FvqRO6v6BSwTAtemQ=="
    },
...

response contains meetings.id = 896172137
with “type”: 3 and zero start_time

in this case I feel frustration )

Hey @a.koval,

I see, you are creating a recurring meeting with no fixed time.

Fixed time means you need more than 50 recurring meetings, and instead of them being scheduled, you can simply start them when ever you need. Essentially an always available meeting, like an instant meeting.

Recurrence : Select how often you need the meeting to recur: Daily , Weekly , Monthly , or No Fixed Time . It can recur up to 50 times. If you need more than 50 recurrences, use the No Fixed Time option.”

May I ask what you are trying to accomplish so I can help with a solution?

Thanks,
Tommy

Tommy, your help awesome, thank you!

So, in your link I found warn notice for me (this explains such behavior):

Recurring meetings cannot be scheduled with your Personal Meeting ID (PMI) since your PMI is reserved so that you can start or schedule a meeting at anytime.

1 Like

Hey @a.koval, you are welcome! :slight_smile:

I am happy you found a solution!

Feel free to reach out if you have additional questions in the future!

Thanks,
Tommy