Why would you use "/" as one of the special characters allowed to generate a meeting or webinar UUID

Currently experiencing problems extracting the UUID from the Endpoint because one of the characters in the UUID is “/”.  As there are endpoints that could result in a webinar report, I had hoped to collect the UUID with a simple 'FIND webinars/ in the endpoint, then whatever is between that “/” and the next “/” is the UUID.

Perhaps stick to URL-safe characters for ID generation?

Wait, the UUID can have a ‘/’ in it?

I’ve never seen that occur but that would be catastrophic if I had that in my current project. Right now I was thinking of using strings to store those, but if ‘/’ is a valid character then…well I’m not sure what I can use to hold those?

Sure enough I did some testing and:

{
 "page\_count": 1,
 "page\_number": 1,
 "page\_size": 30,
 "total\_records": 1,
 "meetings": [
 {
 "uuid": "jL7qHbcPROS0000G/J3D9Q==",
 "id": [Nah.],
 "host\_id": "[My ID so...nope]",
 "topic": "Mitch Shaw's Personal Meeting Room",
 "type": 4,
 "duration": 0,
 "timezone": "[nuh-uh]",
 "created\_at": "2018-03-15T20:43:52Z",
 "join\_url": "[Hah no]"
 }
 ]
}

So yeah that’s…wow that’s a no-go.

Nice catch Amanda!

Hi Amanda & Mitch, 

Let me report this back to our Engineers to see what we can do with having the “/” within the UUID. 

Hi Amanda, 

Following up here, the Engineers will double encode UUID with “/” and the tentative release will be around November. 

https://api.zoom.us/v2/reports/meetings/jL7qHbcPROS0000G%2FJ3D9Q%3D%3D 

 

Thanks

Well, I did not really expect a response at all, I am grateful that you have looked into it.

I just got back to testing this, and hopefully the ‘fix’ happened in November; but I’m not really sure what ‘the fix’ is doing. A recent meeting uuid still had the “/” in it. I still get an error when I try to make a GET request to the API to pull a participant report.

My HTTP endpoint for a GET request is “https://api.zoom.us/v2/report/past_meetings/YPJDeEgmRFOA/EslXIsaoA==/participants”. Can you recommend a different way I should make the request to get a successful response?

I think @michael_p.zoom recommended “double URL encoding” the slash in another post.

So instead of / or a single encoding %2F, you would send the double-encoded slash as %252F. I would experiment with it to make sure it works for your setup.

Hope that helps!

1 Like

Hi @Amanda_Byrne,

Following up, @Jonathan_Champ is correct, you should be able to double URL encode the UUID to get it to work. So instead of /YPJDeEgmRFOA/EslXIsaoA== your UUID would be %252FYPJDeEgmRFOA%252FEslXIsaoA%253D%253D.

Thanks

Hi, I’m running into the same issue, when I try to replace the ‘/’ in the UUID, it just tells me the meeting id is invalid.

I haven’t even moved it to testing in my set up, I’m just testing in your api pages, in the part for testing the apis.

Is there something else that needs to be done besides replacing ‘/’ with ‘%2F’

Hey @amelia.cohen,

Can you try replacing / with %252F as described in the post above,

Let me know if that works!

1 Like

Thanks for responding.

That’s what I did - in the screenshot in my post I had replaced the ‘/’ with that string but then it returned the ‘meeting id is invalid or not end’. I’ve tried that with a few UUID’s and it always returns the meeting id is invalid response.

@amelia.cohen Ah right, I overlooked that, my bad.

I see you are trying to call the GET /past_webinars/{webinarId}/instances

Can you confirm that the webinar has ended?

In the meantime I will try to reproduce.

@amelia.cohen,

I found the issue, you need to pass in the webinarId not the webinarUUID.

For example, when I do a Get Webinars, I want to take the id and then use that to call the past_webinars endpoint.

{
  "page_count": 1,
  "page_number": 1,
  "page_size": 30,
  "total_records": 2,
  "webinars": [
    {
      "created_at": "2019-07-17T17:15:54Z",
      "duration": 60,
      "host_id": "KdYKjnimT4KPd8KKdQt9FQ",
      "id": 174551979,
      "join_url": "https://zoom.us/j/174551979",
      "start_time": "2019-07-17T17:00:00Z",
      "timezone": "America/Denver",
      "topic": "UUID Test",
      "type": 5,
      "uuid": "ZUD+zjo7RbWV+l///n6O9A=="
    }
  ]
}

I will fix the “Send a Test Request” for past_webinars absentees to say WebinarId instead of WebinarUUID.

Thanks
-Tommy

@tommy

The webinar has ended definitely. I need to do the webinar UUID, because otherwise I only get the most recent attendees and this is a re-occurring webinar so I need to get all the webinars, so that’s why I’m using UUID because it’s a unique identifier.

It works to pass through the WebinarUUID when it doesn’t had a ‘/’ in the ID. So it does work to use the UUID to get the results.

I see thanks for more details, I will try to reproduce and come up with a solution.