{"id":16237885,"url":"https://github.com/codegoalie/zoom-backup","last_synced_at":"2025-10-13T10:23:03.241Z","repository":{"id":54315403,"uuid":"296479341","full_name":"codegoalie/zoom-backup","owner":"codegoalie","description":"Backup your zoom recordings to Google Cloud Storage","archived":false,"fork":false,"pushed_at":"2021-02-24T16:20:26.000Z","size":24,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-14T05:43:44.785Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codegoalie.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-09-18T01:13:16.000Z","updated_at":"2020-09-18T10:12:48.000Z","dependencies_parsed_at":"2022-08-13T11:50:29.090Z","dependency_job_id":null,"html_url":"https://github.com/codegoalie/zoom-backup","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codegoalie%2Fzoom-backup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codegoalie%2Fzoom-backup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codegoalie%2Fzoom-backup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codegoalie%2Fzoom-backup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codegoalie","download_url":"https://codeload.github.com/codegoalie/zoom-backup/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247809259,"owners_count":20999806,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T13:37:50.228Z","updated_at":"2025-10-13T10:22:58.203Z","avatar_url":"https://github.com/codegoalie.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Zoom backup cli\n\nThis project backs up your Zoom recordings to Google Cloud Storage.\n\n## Usage\n\nUse `.env.example` to create a `.env` file or set the environment variables:\n\n`ZOOM_API_KEY` - Create a JWT app [here](https://marketplace.zoom.us/develop/create) to get your key and secret  \n`ZOOM_API_SECRET`  \n`ZOOM_USER_ID` - The link to your profile on [this page](https://us02web.zoom.us/account/user#/) contains your User ID (21-ish alphanumeric)  \n`GSTORAGE_BUCKET`  \n`GSTORAGE_PATH` - Prefix within the bucket  \n`GCLOUD_STORAGE_CREDS` - Create a service account with GCS Storage read and\ncreate permissions. Then generate a JSON key for it. The JSON in a `.env` should\nbe in single quotes and all on one line.  \n\nThen compile and run this code.\n\n`$ go run main.go`\n\n## How it works\n\n1. Generates a JWT from your API key and secret that expires in 35 minutes.\n1. Fetches all recordings for the provided user ID.\n1. Filters recordings that are not complete or MP4 files.\n1. Streams the recording to GCS with the filename containing the start time of\n   the recording and recording type. E.g. `2020-09-14T15:02:39Z-shared_screen_with_gallery_views.mp4`\n1. Deletes all recordings for the meetings that were not filtered out.\n\n## Contributing\n\nPlease open an issue before starting to do work. I don't expect to add many more\nfeatures and I wouldn't want you to waste your time on something that doesn't\nfit the the project. Otherwise, I'm super happy to have your amazing help! :D\n\n## Author(s)\n\n- [codegoalie](https://codegoalie.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodegoalie%2Fzoom-backup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodegoalie%2Fzoom-backup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodegoalie%2Fzoom-backup/lists"}