Writing an app using zoom api. Create Engaging Experiences with the Zoom Apps SDK
Looking for:
Writing an app using zoom api.Developer Platform | Zoom - Common Parameters
Zoom APIs allow developers to request information from the Zoom, including but not limited to user details, meeting reports, dashboard data, as well as perform actions on the Zoom platform on a user's behalf. For example, creating a new user or deleting meeting recordings.
Zoom supports the use of OAuth 2. OAuth 2. The following sections provide an overview on the OAuth protocol. The OAuth protocol defines four specific roles. These roles are actively involved in the process of authentication with Zoom APIs:.
Generally, the interaction between a Client your app , a Zoom user, Zoom's authorization server, and the Zoom API follows the flow in the diagram below. An Authorization Grant is the authorization assigned to the Client by the resource owner. The grant type refers to the method the Client uses to request authorization. The usage of this grant type is described in detail in the OAuth with Zoom guide. The following steps provide an overview of the Authorization Code grant flow:.
Example Node. The Client Credentials grant is used to get an access token for APIs that require only a service's permission. This grant does not require a user's permission.
To use Client Credentials grant type, perform the following steps:. JWTs contain a signed payload that helps establish server-to-server authentication. If only you or your Zoom account users will use your app, it is recommended that you use JWT authentication. The complete URL varies depending on the accessed resource. You do not need scopes for JWT apps. Your JWT app will only have access to your Zoom account's information.
You can also use the me keyword instead of the userId value. To get information about a user with a user-level OAuth app, the app must have the user:read scope. While the URL for the request is the same, the behavior of userId value is different from an account-level apps.
Instead of providing a user's userId or email address, you must use the me keyword as the value of the userId path parameter. Otherwise, your app will receive an invalid token error. Server-to-Server OAuth apps also use scopes. You wouldn't use the me keyword with this app type; you must provide a userId or email address. See Server-to-Server authentication for details.
You can use the me keyword in place of the userId keyword in any supported API call. When you use the me keyword, the API call uses the authenticated user's access token. Some users may have permissions to access create, read, update, or delete information associated with other users on Zoom accounts. For example, the Schedule Privilege enables users to assign other users on their account to schedule meetings on their behalf.
A user that has been granted this privilege has access to schedule meetings for the other user. A user may also have a role that grants them access to other user information.
With shared access permissions, a user can choose whether your app can access the following information:. Item 2 refers to when a user authorizes your app to use their "shared access permissions" after they add or manage your app on their account.
In the example above, the user can choose to share access permissions to schedule meetings for another user's account with your app. See Allowing Apps access to shared access permissions for details on the end user experience. Your app does not need to do anything different for this access.
Zoom handles this via the Authorization server. The users that added your app can continue using your app to access their associated information without the need to take any action. If your app does not access or change information associated with a user other than the user who added it, then you should not receive additional errors.
Your app will receive an error if your app attempts to access or change information for a user other than the one who added the app and when the user who added the app:. In this case, your app will receive a response with an "authenticated user has not permitted access to the targeted resource" error.
This will occur after a request to any API, such as:. Currently, there is no way for your app to know whether a user has authorized shared access permissions for your app. You may be able to determine whether a user should have shared permissions based on the context. For example, your app lets users schedule meetings. In this case, when your app receives the error, you can point the user to the Allowing Apps access to shared access permissions Zoom Help Center article that describes how the user can authorize shared permissions for the app.
Once the user authorizes your app with shared permissions, the API will return the expected response. Zoom displays email addresses for users external to your account only if they meet any of the conditions below:.
When Zoom creates a meeting using your PMI, it creates a unique meeting ID that you can see in the create meeting response. However, Webhooks events will still show your PMI. You should also use your PMI to pass into endpoints, such as:. If you're looking for help, try Developer Support or our Developer Forum. Priority support is also available with Premier Developer Support plans.
Using Zoom APIs Zoom APIs allow developers to request information from the Zoom, including but not limited to user details, meeting reports, dashboard data, as well as perform actions on the Zoom platform on a user's behalf. Note: In this document, you will see the terms client and app used interchangeably.
Both of these terms refer to an app integrating with the Zoom API. What is an Access Token? An Access Token is a credential in the form of string that represents the authorization granted to the app.
It can be compared with that of an ID card that identifies a person with their level of authority. For example, a person's driver's license indicates that the person is authorized to drive. Replace it with your actual Authorization Code while making requests. Authorization : 'Basic abcdsdkjfesjfg' ,. The JWT app type will be deprecated in June, Need help?
Writing an app using zoom api
Meeting host user ID. Can be any user under this account. Used to retrieve a meeting, cannot be updated. Language setting of email. Webinar start time in ISO datetime format. For scheduled webinar only. For scheduled Webinar only. Webinar password. Recurrence Webinar Settings. For recurring webinar with fixed time only. Approval type. Webinar audio options. Language setting of email to panelists. Default: Normal.
Others under same master account, including all sub accounts can search members. The file ID, if given this, will only delete this one file, if not given this, will delete all files of the meeting. Archived chat messages access token. Admin who has the view privilege of Archived chat messages will get it. Max of 30 records. Used to paginate through large result sets.
A next page token will be returned whenever the set of available chat history list exceeds The expiration period is 30 minutes. Once you are signed up, navigate back to the Zoom Marketplace , you will have to sign in here again.
Then click Develop and Build App, or navigate here. This will bring you to the choose your app type page. Click create on the OAuth app, which will give you a prompt with some options. Pick any name for the app. Make sure to use an Account-level app, as it is more comprehensive. Lastly, uncheck the option to publish to the marketplace. Publishing requires more settings to install, and we just want to familiarize ourselves with the API at this point.
Next, you will get to the App settings. Here you will need to go through several pages to set up and publish your App. The Client ID is not necessary to keep secret, but the Client secret, as its name suggests, should not be exposed.
It is very important to NOT put your secrets in plain text when using a cloud repository. Also on this page, you will need to put the following address in both the Redirect and Whitelist fields.
This is due to how OAuth works. It must redirect somewhere on success. The next page asks for some basic information. The Feature page can be skipped, and on to the Scopes page. Here you will need to assign which scopes you require for the App. This is the scope for which the App will ask users for permissions. Click Add Scopes. For this test we will need a user:read:admin scope, so go ahead and add that one.
This is everything you need to do in order to install the App, which will allow local testing. Once the meeting is over, you can get a list of participants using the Zoom API. It is recommended to call this API only if you are on a paid account. This specific API requires to have paid account. If you try to call this API with a free account you would get an error. In the response, you will get the names and emails of participants.
The user can play with the Zoom API endpoints like list, update, delete a meeting. All you need to do is follow their guidelines on using specific endpoints.
To this endpoint, you need to pass your meeting id as shown below. I would like to hear your thoughts and suggestions in the comment section below. If you liked this article, then please subscribe to our YouTube Channel for video tutorials. My question now is: If I want to start your php functionalities from a wordpress page, how can I do?
Thanks for providing these examples, I have been able to get the PHP scripts to run on a Synology NAS with the OAuth being correctly authorised and the token added to an mysql database. The database is checked and only updated if empty, but the code is calls will add if empty and update if a token exists. I removed the if statement from my code and it still works and appears to always correctly update the token on my limited tests. Hi, great tutorial, can you guide me or some example i need to get the list of participants of meeting.
Many thanks in advance. Thank you very much for responding quickly sir, I would like to ask if this is applicable on live php website so I could add, edit, delete and update meetings, can I use a basic zoom account for meetings or do I need pro account?
Right now I am using Codeigniter, would like to apply this example. Thanks in advance, God bless and stay safe sir. For this article, I am using a free version of Zoom. It allows managing meetings through APIs. In the case of live site, yes you have to use your live domain. Example Node. The Client Credentials grant is used to get an access token for APIs that require only a service's permission.
This grant does not require a user's permission. To use Client Credentials grant type, perform the following steps:. JWTs contain a signed payload that helps establish server-to-server authentication. If only you or your Zoom account users will use your app, it is recommended that you use JWT authentication.
The complete URL varies depending on the accessed resource. You do not need scopes for JWT apps. Your JWT app will only have access to your Zoom account's information. You can also use the me keyword instead of the userId value. To get information about a user with a user-level OAuth app, the app must have the user:read scope. While the URL for the request is the same, the behavior of userId value is different from an account-level apps.
Instead of providing a user's userId or email address, you must use the me keyword as the value of the userId path parameter. Otherwise, your app will receive an invalid token error. Server-to-Server OAuth apps also use scopes. You wouldn't use the me keyword with this app type; you must provide a userId or email address.
See Server-to-Server authentication for details.
Comments
Post a Comment