Узнайте, как создать безопасную ссылку на собрание Zoom с помощью Python для связи между серверами с аутентификацией OAuth.
Независимо от того, интегрировали ли вы собрания Zoom в свое приложение Python или только планируете это сделать, Zoom заявляет, что с 1 сентября 2023 года приложения JWT прекращают поддержку. Вам придется переключиться на вариант OAuth или OAuth между серверами, чтобы избежать простоя службы.
Опция OAuth требует, чтобы ваши пользователи аутентифицировали ваш веб-сайт через свою учетную запись Zoom. Но если вы только создаете ссылки на собрания Zoom, не обязательно запрашивая разрешение пользователей, вариант OAuth между серверами — ваш идеальный выбор.
Итак, как вы можете добиться этого с помощью Python?
Создайте приложение OAuth для межсерверной связи Zoom
Для начала зайдите в Торговая площадка Zoom для создания нового приложения:
- Прокрутите список приложений и найдите OAuth между серверами баннер. Затем нажмите кнопку Создавать кнопка.
- Введите имя для вашего приложения в соответствующем поле. Затем нажмите Создавать; это перенаправляет вас на другую страницу.
- Скопируйте все учетные данные приложения, включая ваши Идентификатор учетной записи, ID клиента, и Секрет клиента. Нажмите Продолжать когда-то сделали. Вы можете вставить их в свой файл переменной среды чтобы замаскировать их.
- В следующем меню заполните Основная информация поля с соответствующей информацией и нажмите кнопку Продолжать кнопка.
- Нажмите Продолжать на следующей странице.
- Далее нажмите Добавить области и добавьте следующие области; Получить закодированный SIP URI собрания и Просмотр и управление всеми собраниями пользователей.
- Нажмите Продолжать. Наконец, нажмите Активируйте свое приложение чтобы начать взаимодействовать с Zoom API через ваше межсерверное приложение OAuth.
Выполнив предыдущие шаги, вы можете создавать ссылки на собрания на ходу с помощью Zoom API. Ниже приведен полный код для этого.
Импортировать Запросы
# замените на свой идентификатор клиента
client_id = "" # замените на идентификатор вашей учетной записи
ID_аккаунта = "" # замените секрет вашего клиента
клиент_секрет = "" auth_token_url = " https://zoom.us/oauth/token"
API_base_url = " https://api.zoom.us/v2"# создаем функцию ссылки Zoom
дефcreate_meeting(тема, продолжительность, start_date, start_time):
данные = {
"тип_гранта": "account_credentials",
"account_id": аккаунт_идентификатор,
"клиент_секрет": секрет_клиента
}
ответ = запросы.пост (auth_token_url,
авторизация = (client_id, client_secret),
данные = данные)
если ответ.статус_код!=200:
Распечатать("Не удалось получить токен доступа")
ответ_данные = ответ.json()
токен_доступа = данные_ответа["access_token"]заголовки = {
"Авторизация": f"Предъявитель {аксесс_токен}",
"Тип содержимого": "приложение/json"
}
полезная нагрузка = {
"тема": тема,
"продолжительность": продолжительность,
'время начала': ж'{Дата начала}Т10:{время начала}',
"тип": 2
}
соотв = запросы.пост(ф"{api_base_url}/users/me/meetings",
заголовки = заголовки,
json=полезная нагрузка)
если resp.status_code!=201:
Распечатать("Не удалось сгенерировать ссылку на встречу")
ответ_данные = resp.json()
содержание = {
"meeting_url": данные_ответа["присоединиться_url"],
"пароль": данные_ответа["пароль"],
"время встречи": данные_ответа["время начала"],
"цель": данные_ответа["тема"],
"продолжительность": данные_ответа["продолжительность"],
"сообщение": "Успех",
"положение дел":1
}
печать (содержание)
Код сначала отправляет запрос на URL-адрес токена Zoom для токена авторизации. Передавая это через заголовки в API Zoom, он возвращает ответ, содержащий сведения о собрании, указанные в полезной нагрузке. Встреча время начала отправленные с полезной нагрузкой, должны быть в формате ISO 8601. Мы отформатировали это используя строковую операцию Python.
Например, вы можете вызвать функцию, чтобы запланировать собрание на 23 августа 2023 года в 18:24, следующим образом:
создать_встречу (
«Тестовая встреча в Zoom»,
"60",
"2023-08-23",
"18:24",
)
API возвращает JSON, содержащий большое количество информации, включая ссылку на собрание, пароль и идентификатор, а также многие другие сведения. Вы можете распечатать response_data и извлеките то, что вам нужно, как это сделано в приведенном выше коде.
Например, вывод нашего запроса выглядит так:
Интегрируйте Zoom Meeting в свое приложение
Хотя наша демонстрация не включает интеграцию с вашим веб-сайтом или API, будь то сборка с Django, Flask, FastAPI или любой другой фреймворк Python, вы можете легко вставить код в свою кодовую базу.
И если вы создаете API, вы можете преобразовать его в конечную точку, которую может использовать любой клиент. Вы даже можете позаимствовать эту идею для веб-сайта, созданного с использованием других языков, помимо Python. Например, шаги по созданию межсерверного приложения OAuth являются общими.