Как создать ссылку на конференцию Zoom OAuth между серверами с помощью Python
Узнайте, как создать безопасную ссылку на собрание Zoom с помощью Python для связи между серверами с аутентификацией OAuth.
Независимо от того, интегрировали ли вы собрания Zoom в свое приложение Python или только планируете это сделать, Zoom заявляет, что прекращает поддержку приложений JWT с 1 сентября 2023 года. Чтобы избежать обслуживания, вам придется переключиться на OAuth или межсерверный вариант OAuth. время простоя.
Опция OAuth требует, чтобы ваши пользователи аутентифицировали ваш веб-сайт через свою учетную запись Zoom. Но если вы создаете только ссылки на собрания Zoom, не обязательно запрашивая разрешение пользователей, вариант OAuth между серверами — ваш идеальный выбор.
Так как же этого добиться с помощью Python?
Создайте приложение OAuth для межсерверного взаимодействия Zoom
Для начала зайдите в Zoom Marketplace, чтобы создать новое приложение:
-
Прокрутите список приложений и найдите баннер межсерверный OAuth. Затем нажмите кнопку Создать.
Введите название вашего приложения в соответствующем поле. Затем нажмите Создать; это перенаправит вас на другую страницу.
Скопируйте все учетные данные приложения, включая идентификатор учетной записи, идентификатор клиента и секрет клиента. После завершения нажмите Продолжить. Возможно, вы захотите вставить их в файл переменных среды, чтобы замаскировать их.
В следующем меню заполните поля Основная информация соответствующей информацией и нажмите кнопку Продолжить.
Нажмите Продолжить на следующей странице.
-
Затем нажмите Добавить области и добавьте следующие области; Получите закодированный SIP URI собрания и Просматривайте все собрания пользователей и управляйте ими.
Нажмите Продолжить. Наконец, нажмите Активировать приложение, чтобы начать взаимодействовать с API Zoom через приложение OAuth между серверами.
Код Python для создания ссылки Zoom
Выполнив предыдущие шаги, вы можете создавать ссылки на собрания на ходу с помощью API Zoom. Ниже приведен полный код для этого.
import requests
# replace with your client ID
client_id = "<Your client ID>"
# replace with your account ID
account_id = "<Your account ID>"
# replace with your client secret
client_secret = "<Your client secret>"
auth_token_url = "https://zoom.us/oauth/token"
api_base_url = "https://api.zoom.us/v2"
# create the Zoom link function
def create_meeting(topic, duration, start_date, start_time):
data = {
"grant_type": "account_credentials",
"account_id": account_id,
"client_secret": client_secret
}
response = requests.post(auth_token_url,
auth=(client_id, client_secret),
data=data)
if response.status_code!=200:
print("Unable to get access token")
response_data = response.json()
access_token = response_data["access_token"]
headers = {
"Authorization": f"Bearer {access_token}",
"Content-Type": "application/json"
}
payload = {
"topic": topic,
"duration": duration,
'start_time': f'{start_date}T10:{start_time}',
"type": 2
}
resp = requests.post(f"{api_base_url}/users/me/meetings",
headers=headers,
json=payload)
if resp.status_code!=201:
print("Unable to generate meeting link")
response_data = resp.json()
content = {
"meeting_url": response_data["join_url"],
"password": response_data["password"],
"meetingTime": response_data["start_time"],
"purpose": response_data["topic"],
"duration": response_data["duration"],
"message": "Success",
"status":1
}
print(content)
Код сначала отправляет запрос на URL-адрес токена Zoom для получения токена авторизации. Передавая это через заголовки в API Zoom, он возвращает ответ, содержащий сведения о собрании, указанные в полезных данных. Совещание start_time, отправленное с полезными данными, должно быть в формате ISO 8601. Мы отформатировали это, используя строковую операцию Python.
Например, вы можете вызвать функцию, чтобы запланировать встречу на 23 августа 2023 г. в 18:24 следующим образом:
create_meeting(
"Test Zoom Meeting",
"60",
"2023-08-23",
"18:24",
)
API возвращает JSON, содержащий множество информации, включая ссылку на собрание, пароль и идентификатор, а также множество других деталей. Вы можете распечатать response_data и извлечь то, что вам нужно, как это сделано в приведенном выше коде.
Например, вывод нашего запроса выглядит так:
Интегрируйте Zoom Meeting в свое приложение
Хотя наша демонстрация не включает интеграцию с вашим веб-сайтом или API, независимо от того, используете ли вы Django, Flask, FastAPI или любую другую среду Python, вы можете легко подключить код к своей базе кода.
А при создании API вы можете преобразовать его в конечную точку, которую может использовать любой клиент. Вы даже можете позаимствовать эту идею для веб-сайта, созданного с использованием других языков, помимо Python. Например, шаги по созданию приложения OAuth между серверами являются общими.