Zoom

Подключить приложение Zoom

Используйте существующее приложение Zoom или создайте своё, настройте Public Client ID и разрешения.

Приложение Zoom определяет, какие разрешения может запросить программа. Подключите существующее приложение к zm или создайте пользовательское для своего аккаунта. Вы получите Public Client ID, настройки возврата и разрешения для входа через браузер. Регистрация не добавляет бота на встречи и не создаёт записи за вас. Файл учётных данных не скачивается; отдельный OAuth-клиент вне приложения не нужен: включите Public Client OAuth внутри и скопируйте ID.

Используйте уже созданное приложение

  1. Войдите в Zoom App Marketplace и откройте Developer → Created apps. Выберите существующее приложение, не создавая копию.
  2. Выберите среду: Development для приложения в разработке или Production для распространяемого. Учётные данные и параметры OAuth относятся к выбранной среде.
  3. В Basic Information → App Credentials включите Use Public Client OAuth и скопируйте Public Client ID. Рядом могут быть обычный Client ID и Client Secret; zm их не использует.
  4. Проверьте URL возврата, список разрешённых URL и нужные разрешения ниже.
  5. Настройте 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, чтобы существовали текущий обработчик возврата и ключ проверки. Если общее приложение недоступно, создайте своё ниже.

Создайте своё приложение

  1. Войдите в Zoom App Marketplace. Откройте Developer, затем в Created apps выберите Develop → Build an app, General app и Create. Если Developer не виден, попросите администратора выдать роль разработчика Zoom.
  2. Назовите приложение, например My meeting archive, и выберите User-managed. Каждый пользователь подтверждает доступ к своим данным. Server-to-Server OAuth — другой тип приложения, который не соответствует браузерному входу этого инструмента.
  3. Для начальной настройки выберите Development. В Basic Information → App Credentials включите Use Public Client OAuth и скопируйте Public Client ID.
  4. В OAuth Information задайте оба поля ниже и сохраните/продолжите:
ПолеЗначение
OAuth Redirect URLhttps://wirecat.dev/zoom-callback
OAuth Allow Listshttps://wirecat.dev/zoom-callback

Используйте точный URL без дополнительного слеша в конце. zm отправляет именно этот адрес; другой требует изменения кода, а не настройки. Zoom поддерживает и локальные адреса для подходящих публичных клиентов, но этот инструмент отправляет указанный адрес.

  1. Откройте Scopes → Add Scopes, найдите каждое имя в таблице ниже, выберите пользовательские разрешения и сохраните. Если Zoom запрашивает описание, поясните назначение. Добавляйте разрешения записей или изменения встреч только для соответствующих задач.
  2. Проверьте Local Test, установку и требования одобрения. Add App Now может подтвердить приложение в разработке, но для сеанса инструмента вернитесь в терминал и выполните zm login. Распространение пользователям других аккаунтов требует отдельного процесса проверки Zoom.
  3. Вернитесь к первому запуску с 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 недоступен, разрешённые файлы можно импортировать без приложения. После входа загрузите первый период и проверьте, что реально получено.