Release of Zoom API Version 2 and Zoom Rooms API


#1

On November 4th 2017 Zoom API Version 2 and Zoom Room APIs went live.

By default, Version 2 documentation will be presented, with links to Version 1. For reference here are the links for V1 and V2 Documentation and Playground:

Documentation
Version 2: https://zoom.github.io/api/
Version 1: https://zoom.github.io/api-v1/

Playground
Version 2: https://developer.zoom.us/playground/
Version 1: https://developer.zoom.us/playground-v1/

 

Also now available is documentation on the Zoom Rooms API

Zoom Rooms API
https://developer.zoom.us/docs/zoom-rooms-api/


#2

Hi Joshua, 

    The authentication is not working for me for v2. I am using JWT for authentication. I am getting unauthorized error.

Please see attached screen shot.


#3

It’s

Bearer <access_token>

Not

Bearer access_token = <access_token>


#4

Hi Joshua,

    Thanks, If I use token generated on zoom api playground then it works fine. But now problem is that the token I am generating doesn’t get validated, reason may be token generated is wrong. I am using library System.IdentityModel.Tokens.Jwt for C# .Net which referred from https://jwt.io/.

Following is my piece of code of generating JWT -:

var encryptionKey = Convert.FromBase64String(apiSecret);
var securityTokenDescriptor = new SecurityTokenDescriptor
{
     Issuer = apiKey,
     Expires = DateTime.UtcNow.AddMinutes(Convert.ToInt32(20)),
     SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(encryptionKey),                              SecurityAlgorithms.HmacSha256Signature)
};
var tokenHandler = new JwtSecurityTokenHandler();
var securityToken = tokenHandler.CreateToken(securityTokenDescriptor);
var jsonWebToken = tokenHandler.WriteToken(securityToken);

Am I doing something wrong?

Thanks


#5

Hi, I solved the question I asked above by changing encryption key. Don’t use Convert.FromBase64String for getting bytes.

var encryptionKey = Encoding.UTF8.GetBytes(apiSecret);

Thanks!


#6

Hi Joshua,

   For authentication process v2, user needs to provide JWT from his developer account or we need to compute it manually. Now I know how compute JWT but where can I locate JWT in zoom developer account? From Zoom api playground?

Thanks in advance


#7

Not sure I understand the question. You need to generate it, the token made available for the playground is set to expire after 10 minutes, so you can’t use it for long.


#8

Hi joshua,

    I have read the article https://developer.zoom.us/blog/api-authentication-frameworks/ and it is mentioned that you can get it from your developer account. I just want to confirm, may be I am missing something? See following -:


#9

Hi Priyank, 

    we will be updating the blog post. As Joshua said, the jwt that you get from playground should not be used in your production application as it has a short expiry time.

Wei@Zoom


#10

 

Api :  https://api.zoom.us/v1/meeting/get 

Response:

{
“uuid”: “unique_id”,
“id”: 123456789,
“host_id”: “unique_id”,
“topic”: “Zoom Meeting”,
“password”: “”,
“h323_password”: “”,
"status": 0,
“option_jbh”: false,
“option_start_type”: “video”,
“option_host_video”: true,
“option_participants_video”: true,
“option_cn_meeting”: false,
“option_enforce_login”: false,
“option_enforce_login_domains”: “”,
“option_in_meeting”: false,
“option_audio”: “both”,
“option_alternative_hosts”: “”,
“option_use_pmi”: false,
“type”: 8,
“start_time”: “”,
“duration”: 0,
“timezone”: “Asia/Hong_Kong”,
“start_url”: “https://www.zoom.us/s/123456789?zpk=xxxx”,
“join_url”: “https://www.zoom.us/j/123456789”,
“created_at”: “2016-12-20T02:51:42Z”,
“occurrences”: [
{
“occurrence_id”: “1483210260000”,
“start_time”: “2017-01-01T02:51:00Z”,
“duration”: 60,
“status”: “available”
}
]
}

 

There is no meeting status in the meeting details obtained in API version 2  like the version 1    “status”: 0

How can I know the meeting is ended  through API version 2?

 


#11

Hi Roger,

Please refer to https://developer.zoom.us/docs/webhooks/


#12

I’m also trying to generate token from asp.net/ C# code.

There seems to be issues with my version of System.IdentityModel.Tokens.Jwt and the code doesn’t work.

May I know the right version to use for using System.IdentityModel.Tokens.Jwt?

Currently, this line of code gives me error

using System.IdentityModel.Tokens.Jwt;