Can't retrieve data when Meeting UUID contains double slash ("//")

I’m having trouble retrieving the participant info for a meeting that was created today. It happened to have a double slash (//) in the UUID, which I assume is causing the problem. I tried urlencoding the string (except the ending ==), but that did not resolve the problem–although it seemed to work with a single /. Is there any way to get this meeting’s data?

APICall: /report/meetings/{meetingId}/participants
UUID: vdcA//8fR5KwU/cCo8WAGw==

Any suggestions as to how to get this data? Also,I read there are changes coming which will eliminate the / in UUIDs. When is that release expected?

Thank you.

1 Like

Could you share the full request/response (complete with headers) for this request please?
That might help indicate an issue I cannot see with the data at-hand.
:smiley:

When you say

It happened to have a double slash (//) in the UUID, which I assume is causing the problem.

What is “It” exactly?
A) The complete response
B) A specific property within the response payload’s object please?

Also, have you tried any of the following:

  1. Removed one of the additional forward slashes from the double forward slash?
  2. Escaping one or both of the forward slashes where the double is, like: vdcA\//8fR5KwU/cCo8WAGw== OR vdcA\/\/8fR5KwU/cCo8WAGw== ?

Those are a couple of things I might try to test/fix this issue.

Lastly, are you able to recreate this on every request for the participants of that particular meeting?

I am trying to get the list of participants and their time in the meeting. Here is my call.

$headers = array(
‘HTTP/1.1’,
‘Accept: application/json’,
'Authorization: Bearer ’ . $access_token,
‘Content-Type: application/json’
);
$uuid = “vdcA//8fR5KwU/cCo8WAGw==”;
$url = ‘https://api.zoom.us/v2/report/meetings/’ . urlencode($uuid) . ‘/participants’;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$data = curl_exec($ch);
curl_close($ch);
$meeting_data = json_decode( $data );
var_dump($meeting_data);

This returns “Meeting ID is invalid or not end.”
But if I look at this meeting in the reports, it retrieves the data (***********).

I did try escaping the slashes, but then the call actually returns null, so that was not working for me. I also tried removing a slash, but that gives the same as the original result of invalid ID.

I am able to pull participants of other meetings–including those with a single slash (if I urlencode it), but not this one.
Thank you for your assistance.

*This post has been edited to remove any meeting / webinar IDs

Have you tried using this API instead?

Also, is the UUID you’re using retrieved from the Meeting Details API?

@nebbens, for this issue, there are below two solutions:

  1. Don’t encode the meeting UUID, such as:
    /report/meetings/vdcA//8fR5KwU/cCo8WAGw==/participants

  2. Double encode this meeting UUID, such as:
    /report/meetings/vdcA%252f%252f8fR5KwU%252fcCo8WAGw%253d%253d/participants

3 Likes

Thanks, double encoding (in JS, /v2/metrics/meetings/' + encodeURIComponent(encodeURIComponent($uuid)) works!

2 Likes

hi @pavol,

Glad that your issue has been resolved. Please let us know if you have any questions.

Thanks

Hey @zhangi,

How are you encoding the url? I come up with different results via https://www.urlencoder.org/

no escape(MOBErow9Q7yma0L/LmeqRg==)
single encoding(MOBErow9Q7yma0L%2FLmeqRg%3D%3D)
double encoding(MOBErow9Q7yma0L%252FLmeqRg%253D%253D)

Can you try using: MOBErow9Q7yma0L%252FLmeqRg%253D%253D

Thanks,
Tommy

1 Like

The issue I experienced is not related to the encoding, sorry.

1 Like

No worries @zhangi!

Please let us know if you have additional questions. :slight_smile:

Thanks,
Tommy

I’m having a similar issue. I would expect that the encoding used by the API when I:

GET: https://api.zoom.us/v2/past_webinars/247065729/instances

{
  "webinars": [
    {
      "uuid": "dTXi1//NSBKh0IVZfTekMg==",
      "start_time": "2020-03-13T15:46:26Z"
    }
  ]
}

matches the one accepted in a subsequent query:
GET: https://api.zoom.us/v2/report/webinars/dTXi1//NSBKh0IVZfTekMg==/participants

{
    "code": 3001,
    "message": "Meeting ID is invalid or not end."
}

which doesn’t.

Note that, single encoding didn’t work. But double, did.

Hey @alejandrodini,

Yes, right now you must double encode if there are slashes in the uuid. We are working to fix this in a future release. Stay updated here: https://marketplace.zoom.us/docs/changelog

Thanks,
Tommy

I am trying to get information from the API using Postman
I have a meeting ID with a single slash and I get 3001 This meeting is not available or ID is not valid.
I got the Meeting ID from a previous API call the /users/{xxxyyyzzz}/meetings
I have tried calling /past_meetings/{meeting UUID}
I have tried plain meeting UUID blah/moreblah==
I have tried single and double URL encode of blah/moreblah== and I keep getting the same 3001 error
Can anybody suggest anything please as I am stumped at this point. I need to get a participant list from this meeting ASAP.
Regards

Angus

Hey @angus.denton,

What meeting id and uuid are you trying to use?

Thanks,
Tommy

Hi
@Tommy Gaessler via Zoom Developer Forum

I have discovered that the ‘Dashboard’ API /metrics/reports a different UUID for a past meeting than the getting the meeting uuid returned from the /users/{userid}/meetings call,

Why a meeting event changes UUID is a mystery and I spent too long chasing this one around. The /metrics/ api returned an actionable UUID.

Gus

1 Like

Hey @angus.denton,

Correct. After the meeting is started, it transitions to a new meetingUUID.

Thanks,
Tommy

i’m sharing my solution here, at least for my code

def double_quote(str_in):
if str_in[0]=="/":
str_in="%252F"+str_in[1:].replace("/","%252F").replace("=","%253D").replace("+","%252B")
if “//” in str_in:
str_in=str_in.replace("/","%252F").replace("=","%253D").replace("+","%252B")

return(str_in)
1 Like

Thanks @zye! :slight_smile:

-Tommy

Hello Team,
I am using a paid account and have admin access.

meetingUUID is correct which I have retrieved from /meetings/{meetingId} API.
Meeting Id = ‘97676863012’
Meeting UUID = ‘FEtRDSUbQ3GKs8y0G3yLJg==’

I am facing the same issue while hitting URL “/past_meetings/{meetingUUID}/participants”

before encode meetingUUID: FEtRDSUbQ3GKs8y0G3yLJg==

after encode meetingUUID: FEtRDSUbQ3GKs8y0G3yLJg%253D%253D

endPoint: https://api.zoom.us/v2/past_meetings/{meetingUUID}/participants

res.getBody(): {“code”:3001,“message”:“Meeting does not exist: FEtRDSUbQ3GKs8y0G3yLJg==.”}

Could you please advise what am I doing wrong?

1 Like

Hey @arjun.bsci,

When was that meeting created? I do not see that that meeting happened in our system in the last few months.

Thanks,
Tommy