Подключить приложение Zoom
Используйте существующее приложение Zoom или создайте своё, настройте Public Client ID и разрешения.
Приложение Zoom определяет, какие разрешения может запросить программа. Подключите существующее
приложение к zm или создайте пользовательское для своего аккаунта. Вы получите Public Client ID,
настройки возврата и разрешения для входа через браузер. Регистрация не добавляет бота на встречи
и не создаёт записи за вас. Файл учётных данных не скачивается; отдельный OAuth-клиент вне приложения не нужен: включите Public Client OAuth внутри и скопируйте ID.
Используйте уже созданное приложение
- Войдите в Zoom App Marketplace и откройте Developer → Created apps. Выберите существующее приложение, не создавая копию.
- Выберите среду: Development для приложения в разработке или Production для распространяемого. Учётные данные и параметры OAuth относятся к выбранной среде.
- В Basic Information → App Credentials включите Use Public Client OAuth и скопируйте
Public Client ID. Рядом могут быть обычный Client ID и Client Secret;
zmих не использует. - Проверьте URL возврата, список разрешённых URL и нужные разрешения ниже.
- Настройте ID и запустите новый вход:
zm config set zoom.clientId <public-client-id>
zm config set source api
zm loginЗамените значение без угловых скобок. Войдите под пользователем, чьи встречи нужны, изучите
разрешения и подтвердите. Дождитесь loggedIn: true в терминале. Если после подтверждения он
ждёт, завершите возврат из браузера.
Используйте приложение WireCat или команды
Если владелец предоставил вашему пользователю Zoom доступ к приложению WireCat или команды, используйте Public Client ID от владельца в тех же командах выше. Создавать другое приложение или получать секрет не нужно. Владелец управляет URL возврата и разрешениями, а вы подтверждаете доступ к своему аккаунту.
Приложение в разработке не становится автоматически доступным пользователям другого аккаунта Zoom.
Уточните доступ у владельца; может понадобиться администратор компании. Одна ссылка авторизации
не настраивает zm и не завершает его вход: запустите zm login, чтобы существовали текущий
обработчик возврата и ключ проверки. Если общее приложение недоступно, создайте своё ниже.
Создайте своё приложение
- Войдите в Zoom App Marketplace. Откройте Developer, затем в Created apps выберите Develop → Build an app, General app и Create. Если Developer не виден, попросите администратора выдать роль разработчика Zoom.
- Назовите приложение, например My meeting archive, и выберите User-managed. Каждый пользователь подтверждает доступ к своим данным. Server-to-Server OAuth — другой тип приложения, который не соответствует браузерному входу этого инструмента.
- Для начальной настройки выберите Development. В Basic Information → App Credentials включите Use Public Client OAuth и скопируйте Public Client ID.
- В OAuth Information задайте оба поля ниже и сохраните/продолжите:
| Поле | Значение |
|---|---|
| OAuth Redirect URL | https://wirecat.dev/zoom-callback |
| OAuth Allow Lists | https://wirecat.dev/zoom-callback |
Используйте точный URL без дополнительного слеша в конце. zm отправляет именно этот адрес;
другой требует изменения кода, а не настройки. Zoom поддерживает и локальные адреса для подходящих
публичных клиентов, но этот инструмент отправляет указанный адрес.
- Откройте Scopes → Add Scopes, найдите каждое имя в таблице ниже, выберите пользовательские разрешения и сохраните. Если Zoom запрашивает описание, поясните назначение. Добавляйте разрешения записей или изменения встреч только для соответствующих задач.
- Проверьте Local Test, установку и требования одобрения. Add App Now может подтвердить
приложение в разработке, но для сеанса инструмента вернитесь в терминал и выполните
zm login. Распространение пользователям других аккаунтов требует отдельного процесса проверки Zoom. - Вернитесь к первому запуску с Public Client ID.
Официальные руководства по созданию приложения, настройкам OAuth и Public Client OAuth объясняют поля Marketplace.
Создать из манифеста
Необязательный начальный манифест это шаблон создания приложения, а не файл учётных данных. Он содержит адреса возврата и отключённые функции внутри клиента. Если Marketplace предлагает создание из манифеста, сохраните JSON и импортируйте при создании General app.
Манифест не содержит разрешений и не включает Public Client OAuth. После импорта выполните
шаги 3–6 вручную. Успешный импорт не означает готовность к zm login. Создание вручную — полный
путь, если импорт недоступен.
Разрешения для встреч организатора
Эти разрешения добавляются вручную для загрузки встреч организатора. Scope — именованное разрешение: оно разрешает вызов API, но не гарантирует наличие запрошенных данных.
| Разрешение | Назначение |
|---|---|
meeting:read:list_meetings | Встречи организатора и ближайшее расписание |
meeting:read:list_past_instances | Отдельные сеансы повторяющихся встреч |
cloud_recording:read:meeting_transcript | Доступная расшифровка |
meeting:read:list_past_participants | Участники и время входа/выхода |
meeting:read:summary | Доступное резюме Zoom AI |
Настройте все пять для zm pull: загрузка читает эти части, даже если текста или резюме нет.
План Zoom, настройки организатора и срок хранения определяют наличие данных. Для чтения только
расписания нужен лишь список встреч.
Разрешить архив или управление
Владелец добавляет нужное разрешение в Scopes, сохраняет, затем пользователь повторяет
zm login. Выданные токены не получают права автоматически. Проверьте фактически выданные
разрешения через zm session status --json.
| Разрешение | Возможность |
|---|---|
cloud_recording:read:list_user_recordings | Найти облачные записи |
cloud_recording:read:list_recording_files | Посмотреть и скачать файлы записей |
user:read:user | Проверить серверный сеанс через zm session status --check |
meeting:read:meeting | Посмотреть удалённую встречу |
meeting:read:invitation | Прочитать приглашение |
meeting:write:meeting | Создать встречу |
meeting:update:meeting | Изменить встречу |
meeting:delete:meeting | Отменить встречу |
Для архива не нужны права изменения встреч. Изменения сначала показывают план; --yes выполняет
один запрос. После выдачи прав переходите к архиву записей
или управлению встречами.
Перед первым zm pull
Расшифровка должна быть создана и сохранена в Zoom. В веб-настройках найдите Meeting → In Meeting (Advanced) → Meeting transcript и включите нужные параметры создания и хранения. Администратор может заблокировать их. В существующих аккаунтах также может быть Allow hosts to retain transcripts для текста резюме встреч. См. настройки расшифровок Zoom для требований к плану и правам.
Для текста аудиозаписей проверьте отдельные настройки облачной записи. Запись, живые субтитры и сохранённая расшифровка — разные результаты. Включение настройки сегодня не восстанавливает текст, который не сохранялся или был удалён по сроку.
API читает встречи авторизованного организатора. Если вы только участвовали, попросите файл у организатора или скачайте, если разрешено, затем импортируйте VTT. Само участие не гарантирует доступ к скачиванию.
Корпоративный аккаунт
Попросите администратора разрешить создание/установку приложения и нужные права. Если API недоступен, разрешённые файлы можно импортировать без приложения. После входа загрузите первый период и проверьте, что реально получено.