Hey Mo, great job on the last ticket 🫡 we're switching gears from MongoDb and Prisma to integrating our product with Zoom. The deadline for this ticket is April 10th @ 11:59pm, but let me know if you need any extension. Alright, let's get into the details!
Git Thangs
Make sure to run git checkout master and git pull origin. You should see a lot of changes to the repository that I will explain during 3/27's subteam meeting. Before starting the ticket, make sure that you sent me your email so you are allowed access to sign into our new Microsoft auth security group as well as add the new secrets from the #cornell-reocvery-dev-sp24 channel. Then run yarn install and yarn dev. Please log in given your new temporary accounts that I will provide later.
Once you can locally run the application, please make a branch called zoom-token. Make all changes on this branch.
Zoomies
This ticket will focus on getting started with using our Zoom Marketplace App, which is hosted under a test email I created (see below). Here are the credentials just in case you need it for anything:
The Zoom App we are using is Server-to-Sever OAuth, meaning we set this account such that we have permission and authentication abilities to perform whatever functions we need in the backend (getting meetings, creating a meeting, etc). It is a type of application that allows for server-to-server authentication without requiring user interaction for authentication purposes. So instead of authenticating each user using OAuth, our system authenticates using the credentials of a Zoom account and is granted a token that can be used to make API requests. We need to have an access token to actually use any functions from Zoom's API. To get an access token for a particular account on the Zoom Server-to-Server App, the following are required:
Zoom App Client id
Zoom App Secret id
Zoom App Account id
I already made these for our test account, so please add them to your .env file:
I name it ZOOM1 because we plan on having multiple of these server-to-server accounts, but one is enough for testing purposes. So given all this information, your task is to generate an access token for ZOOM1 account. Make a folder in frontend/app/api/ called zoom and create a file generateToken.ts in it. Please create two async functions in this file: one that handles the logic of generating a token through Zoom and one that is exported to be used in other files and returns the access token. In the first function, you will need to send a request using all the variables in the .env file as detailed here:
From the second function, please return NextResponse with a JSON including the new access token. Let me know if you would like me to clear any of the logic!
Testing 😔
Navigate to frontend/app/test/page.jsx. Here, please add a section named Zoom and create a new button in the section that calls your second function from above. This will return a NextResponse object with the access token, so console.log() the access token. Please take a screenshot of it and put it in a PR, along with a 2-3 sentence description of what you did!
Hey Mo, great job on the last ticket 🫡 we're switching gears from MongoDb and Prisma to integrating our product with Zoom. The deadline for this ticket is April 10th @ 11:59pm, but let me know if you need any extension. Alright, let's get into the details!
Git Thangs
Make sure to run
git checkout master
andgit pull origin
. You should see a lot of changes to the repository that I will explain during 3/27's subteam meeting. Before starting the ticket, make sure that you sent me your email so you are allowed access to sign into our new Microsoft auth security group as well as add the new secrets from the #cornell-reocvery-dev-sp24 channel. Then runyarn install
andyarn dev
. Please log in given your new temporary accounts that I will provide later.Once you can locally run the application, please make a branch called
zoom-token
. Make all changes on this branch.Zoomies
This ticket will focus on getting started with using our Zoom Marketplace App, which is hosted under a test email I created (see below). Here are the credentials just in case you need it for anything:
The Zoom App we are using is Server-to-Sever OAuth, meaning we set this account such that we have permission and authentication abilities to perform whatever functions we need in the backend (getting meetings, creating a meeting, etc). It is a type of application that allows for server-to-server authentication without requiring user interaction for authentication purposes. So instead of authenticating each user using OAuth, our system authenticates using the credentials of a Zoom account and is granted a token that can be used to make API requests. We need to have an access token to actually use any functions from Zoom's API. To get an access token for a particular account on the Zoom Server-to-Server App, the following are required:
I already made these for our test account, so please add them to your
.env
file:I name it ZOOM1 because we plan on having multiple of these server-to-server accounts, but one is enough for testing purposes. So given all this information, your task is to generate an access token for ZOOM1 account. Make a folder in
frontend/app/api/
calledzoom
and create a filegenerateToken.ts
in it. Please create two async functions in this file: one that handles the logic of generating a token through Zoom and one that is exported to be used in other files and returns the access token. In the first function, you will need to send a request using all the variables in the.env
file as detailed here:https://developers.zoom.us/docs/internal-apps/s2s-oauth/
From the second function, please return NextResponse with a JSON including the new access token. Let me know if you would like me to clear any of the logic!
Testing 😔
Navigate to
frontend/app/test/page.jsx
. Here, please add a section namedZoom
and create a new button in the section that calls your second function from above. This will return a NextResponse object with the access token, so console.log() the access token. Please take a screenshot of it and put it in a PR, along with a 2-3 sentence description of what you did!