I recently came across a project where I needed to develop a platform where users can purchase and take live sessions via the Zoom App.
So I went through Zoom’s official documents and found a lot of APIs provided by the Zoom App.
I took a few steps from there and I searched a few steps on the internet. These are the steps you can follow to create a Zoom Meeting URL and join a meeting from your website browser.
Create an App from the Zoom marketplace:
First, you need to create a Zoom profile from https://zoom.us/. Once you finish that, you need to build an app from this URL https://marketplace.zoom.us/. Go to that URL, see the “Develop” Menu on top and then click on “Build” from the dropdown.
Next, you need to choose “Server-to-Server OAuth“ and then click the Create button.
Once done, follow the steps one by one. In that step, you must also choose Scope, Which is very important. To be able to create a Zoom Meeting URL, you must choose a few scopes that are required to use Meeting API.
these are the scopes you need to choose:
once you complete all the steps to build “server to server OAuth”. you need to get an access token.
Access Token
you need to have an access token which will be used later in Creating the meeting URL.
so you will need the account ID, client ID, and client secret and use them to get an access token.
you need to call this Zoom API
so now you have built the app and got an access token for it. Now we will use this to create a meeting URL.
https://api.zoom.us/v2/users/<your_zoom_profile_username>/meetings
that API URL, we need to access the token and use the POST method along with the required data (you can find them in Zoom doc). See the example below. I have used PHP and curl
$data = array();
$data['topic'] = 'Example Test Meeting';
$data['start_date'] = date("Y-m-d h:i:s", strtotime('tomorrow'));
$data['duration'] = 30;
$data['type'] = 2;
$data['password'] = "12345";
$access_token = "<Your_generated_access_token>";
$request_url = "https://api.zoom.us/v2/users/[email protected]/meetings";
$headers = array(
"authorization: Bearer ".$access_token,
"content-type: application/json",
"Accept: application/json",
);
$postFields = json_encode($data);
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => $request_url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $postFields,
CURLOPT_HTTPHEADER => $headers,
));
$response = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);$request_url = "https://api.zoom.us/v2/users/[email protected]/meetings";
$headers = array(
"authorization: Bearer ".$this->access_token,
"content-type: application/json",
"Accept: application/json",
);
$postFields = json_encode($data);
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => $request_url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => $postFields,
CURLOPT_HTTPHEADER => $headers,
));
$response = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
echo json_decode($response);
That’s it. Have a great time coding.