Узнайте, как создать безопасную ссылку на собрание Zoom с помощью Python для связи между серверами с аутентификацией OAuth.

Независимо от того, интегрировали ли вы собрания Zoom в свое приложение Python или только планируете это сделать, Zoom заявляет, что с 1 сентября 2023 года приложения JWT прекращают поддержку. Вам придется переключиться на вариант OAuth или OAuth между серверами, чтобы избежать простоя службы.

Опция OAuth требует, чтобы ваши пользователи аутентифицировали ваш веб-сайт через свою учетную запись Zoom. Но если вы только создаете ссылки на собрания Zoom, не обязательно запрашивая разрешение пользователей, вариант OAuth между серверами — ваш идеальный выбор.

Итак, как вы можете добиться этого с помощью Python?

Создайте приложение OAuth для межсерверной связи Zoom

Для начала зайдите в Торговая площадка Zoom для создания нового приложения:

  1. Прокрутите список приложений и найдите OAuth между серверами баннер. Затем нажмите кнопку Создавать кнопка.
  2. Введите имя для вашего приложения в соответствующем поле. Затем нажмите Создавать; это перенаправляет вас на другую страницу.
  3. instagram viewer
  4. Скопируйте все учетные данные приложения, включая ваши Идентификатор учетной записи, ID клиента, и Секрет клиента. Нажмите Продолжать когда-то сделали. Вы можете вставить их в свой файл переменной среды чтобы замаскировать их.
  5. В следующем меню заполните Основная информация поля с соответствующей информацией и нажмите кнопку Продолжать кнопка.
  6. Нажмите Продолжать на следующей странице.
  7. Далее нажмите Добавить области и добавьте следующие области; Получить закодированный SIP URI собрания и Просмотр и управление всеми собраниями пользователей.
  8. Нажмите Продолжать. Наконец, нажмите Активируйте свое приложение чтобы начать взаимодействовать с 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 являются общими.