- Automatically download a new Zoom video
- Upload the video to YouTube (privacy settings: unlisted)
- Drop a link to the YouTube video into a Slack channel
- Filter settings: will not upload videos under 15 minutes long to prevent uploads of accidental recordings
You need to create a .env
file in the root directory of the project, specifying the keys listed below:
ZOOM_KEY
ZOOM_SECRET
ZOOM_HOST_ID
ZOOM_EMAIL
ZOOM_PASSWORD
To get the keys, follow these steps:
- Follow the link: https://api.zoom.us/developer/api/credential
- Enable the API
- Enter the
API Key
inZOOM_KEY
,API Secret
inZOOM SECRET
- Follow the link: https://api.zoom.us/developer/api/playground
- In the API Endpoint field, select https://api.zoom.us/v1/chat/list
- Enter the
Host User ID
inZOOM_HOST_ID
Add the following keys to the .env
file
GOOGLE_REFRESH_TOKEN
GOOGLE_CLIENT_ID
GOOGLE_CLIENT_SECRET
To get the keys, follow these steps:
- Go to the developer console: https://console.developers.google.com/cloud-resource-manager
- Create a new project and go to the new project
- Follow the link: https://console.developers.google.com/apis/api/youtube.googleapis.com/overview
- Turn on
YouTube Data API v3
- Follow the link: https://console.developers.google.com/apis/credentials
- create OAuth client credentials.
- Select
Desktop
as type of application, create - Enter
Client ID
inGOOGLE_CLIENT_ID
andClient Secret
inGOOGLE_CLIENT_SECRET
To get the GOOGLE_REFRESH_TOKEN
follow these steps:
- Follow the link: https://accounts.google.com/o/oauth2/auth?client_id=<GOOGLE_CLIENT_ID>&redirect_uri=urn:ietf:wg:oauth:2.0:oob&scope=https://www.googleapis.com/auth/youtube.upload&access_type=offline&response_type=code, replacing
<GOOGLE_CLIENT_ID>
with theGOOGLE_CLIENT_ID
, you got from the previous step - Select the Google account you need access for
- Get access
- Enter the token in the .env file, in the
.env
in theGOOGLE_CODE
field - Run the following script
$ python3.6 src/get_google_refresh_token.py`
- Enter the refresh token in the
.env
file, in theGOOGLE_REFRESH_TOKEN
field
Add the following keys to the .env
file
SLACK_CHANNEL
SLACK_TOKEN
- Enter the recipients (separated with commas) in
SLACK_CHANNEL
, for exampleSLACK_CHANNEL=#my_cannel,@my_user
- Enter the slack token in
SLACK_TOKEN
AIR_TABLE_API_KEY
: Airtable api key from personal accountAIR_TABLE_BASE_KEY
: Unique key to identify airtable base.
To make sure all the keys were entered into the .env
file, run the script in docker container
$ docker-compose run app bash
$ python3.6 src/check_env.py
Build the image as specified by Dockerfile and run the container to launch the app.
ZOOM_KEY=AAAAAAAAAAAAAAA
ZOOM_SECRET=BBBBBBBBBBBB
ZOOM_HOST_ID=CCCCCCCCCCC
[email protected]
ZOOM_PASSWORD=user_password
GOOGLE_CLIENT_ID=AAAAAAAAAAAAAA.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=BBBBBBBBBBBBBb
GOOGLE_REFRESH_TOKEN=CCCCCCCCCCCC
GOOGLE_CODE=DDDDDDDDDDDDDD
SLACK_CHANNEL=@user
SLACK_TOKEN=AAAAAAAAAAAAA
AIR_TABLE_API_KEY=keyAAAAAAAAAAAAAAA
AIR_TABLE_BASE_KEY=appAAAAAAAA
AIR_TABLE_TABLE_NAME=Zoom Recordings
AIR_TABLE_TABLE_COLUMNS=Recording Title,Youtube link