Aprenda a crear un enlace seguro para una reunión de Zoom usando Python para la comunicación de servidor a servidor con autenticación OAuth.

Ya sea que haya integrado las reuniones de Zoom en su aplicación Python o simplemente planee hacerlo, Zoom dice que dejará de usar las aplicaciones JWT el 1 de septiembre de 2023. Deberá cambiar a la opción OAuth o OAuth de servidor a servidor para evitar el tiempo de inactividad del servicio.

La opción OAuth requiere que sus usuarios autentiquen su sitio web a través de su cuenta de Zoom. Pero si solo está generando enlaces de reunión de Zoom sin solicitar necesariamente el permiso de los usuarios, la opción OAuth de servidor a servidor es su opción ideal.

Entonces, ¿cómo puedes lograr esto con Python?

Cree una aplicación OAuth de servidor a servidor de Zoom

Para comenzar, dirígete a la Mercado Zoom para construir una nueva aplicación:

  1. Desplácese por la lista de aplicaciones y localice la OAuth de servidor a servidor bandera. Luego, haga clic en el Crear botón.
  2. instagram viewer
  3. Introduzca un nombre para su aplicación en el campo proporcionado. Luego haga clic Crear; esto te redirige a otra página.
  4. Copie todas las credenciales de la aplicación, incluido su ID de la cuenta, Identificación del cliente, y Secreto del cliente. Hacer clic Continuar una vez hecho. Es posible que desee pegarlos en su archivo de variables de entorno para enmascararlos.
  5. En el siguiente menú, complete el Información básica campos con la información adecuada y haga clic en el Continuar botón.
  6. Hacer clic Continuar en la página siguiente.
  7. A continuación, haga clic en Agregar ámbitos y agregue los siguientes ámbitos; Obtener el SIP URI codificado de una reunión y Ver y administrar todas las reuniones de usuarios.
  8. Hacer clic Continuar. Finalmente, haga clic en Activa tu aplicación para comenzar a interactuar con la API de Zoom a través de su aplicación OAuth de servidor a servidor.

Una vez que haya terminado con los pasos anteriores, puede generar enlaces de reuniones sobre la marcha utilizando la API de Zoom. A continuación se muestra el código completo para hacerlo.

importar peticiones

# reemplazar con su ID de cliente
id_cliente = ""

# reemplazar con su ID de cuenta
cuenta_id = ""

# reemplazar con su secreto de cliente
secreto_cliente = ""

auth_token_url = " https://zoom.us/oauth/token"
api_base_url = " https://api.zoom.us/v2"

# crear la función de enlace Zoom
definitivamentecrear_reunión(tema, duración, fecha_de_inicio, hora_de_inicio):
datos = {
"tipo_concesión": "Credenciales de cuenta",
"ID de la cuenta": ID de la cuenta,
"cliente_secreto": cliente_secreto
}
respuesta = solicitudes.post (auth_token_url,
auth=(id_cliente, secreto_cliente),
datos=datos)

si respuesta.estado_código!=200:
imprimir("No se puede obtener el token de acceso")
respuesta_datos = respuesta.json()
access_token = respuesta_datos["token_de_acceso"]

encabezados = {
"Autorización": f"Portador {token_de_acceso}",
"Tipo de contenido": "aplicación/json"
}
carga útil = {
"tema": tema,
"duración": duración,
'hora de inicio': F'{fecha de inicio}T10:{hora de inicio}',
"tipo": 2
}

resp = solicitudes.post(F"{api_base_url}/users/me/meetings",
encabezados = encabezados,
json=carga útil)

si resp.status_code!=201:
imprimir("No se pudo generar el enlace de la reunión")
respuesta_datos = resp.json()

contenido = {
"URL_reunión": respuesta_datos["join_url"],
"contraseña": respuesta_datos["contraseña"],
"tiempo de reunión": respuesta_datos["hora de inicio"],
"objetivo": respuesta_datos["tema"],
"duración": respuesta_datos["duración"],
"mensaje": "Éxito",
"estado":1
}
imprimir (contenido)

El código primero envía una solicitud a la URL del token de Zoom para obtener un token de autorización. Al pasar esto a través de los encabezados a la API de Zoom, devuelve una respuesta que contiene los detalles de la reunión especificados en la carga útil. La reunión hora de inicio enviado con la carga útil debe estar en formato ISO 8601. Hemos formateado esto usando la operación de cadena de Python.

Por ejemplo, puede llamar a la función para programar una reunión para el 23 de agosto de 2023 a las 6:24 p. m. de la siguiente manera:

crear_reunion(
"Reunión de Zoom de prueba",
"60",
"2023-08-23",
"18:24",
)

La API devuelve un JSON que contiene mucha información, incluido el enlace de la reunión, la contraseña y la identificación, entre muchos otros detalles. Puedes imprimir respuesta_datos y extraiga lo que necesita, como se hizo en el código anterior.

Por ejemplo, nuestra salida de solicitud se ve así:

Integre Zoom Meeting en su aplicación

Aunque nuestra demostración no incluye la integración en su sitio web o API, ya sea que se construya con Django, Flask, FastAPI o cualquier otro marco de Python, puede conectar fácilmente el código a su base de código.

Y si crea una API, puede convertirla en un punto final que pueda usar cualquier cliente. Incluso puede tomar prestada esta idea para un sitio web creado con otros lenguajes además de Python. Por ejemplo, los pasos para crear una aplicación OAuth de servidor a servidor son genéricos.