Поиск по сайту:

Как создать ссылку на конференцию Zoom OAuth между серверами с помощью Python


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

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

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

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

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

Для начала зайдите в Zoom Marketplace, чтобы создать новое приложение:

  1. Прокрутите список приложений и найдите баннер межсерверный OAuth. Затем нажмите кнопку Создать.

  2. Введите название вашего приложения в соответствующем поле. Затем нажмите Создать; это перенаправит вас на другую страницу.

  3. Скопируйте все учетные данные приложения, включая идентификатор учетной записи, идентификатор клиента и секрет клиента. После завершения нажмите Продолжить. Возможно, вы захотите вставить их в файл переменных среды, чтобы замаскировать их.

  4. В следующем меню заполните поля Основная информация соответствующей информацией и нажмите кнопку Продолжить.

  5. Нажмите Продолжить на следующей странице.

  6. Затем нажмите Добавить области и добавьте следующие области; Получите закодированный SIP URI собрания и Просматривайте все собрания пользователей и управляйте ими.

  7. Нажмите Продолжить. Наконец, нажмите Активировать приложение, чтобы начать взаимодействовать с 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 между серверами являются общими.

Статьи по данной тематике: