Pelajari cara membuat tautan rapat Zoom yang aman menggunakan Python untuk komunikasi server-ke-server dengan autentikasi OAuth.

Apakah Anda telah mengintegrasikan rapat Zoom ke dalam aplikasi Python Anda atau hanya berencana untuk melakukannya, Zoom mengatakan itu menghentikan aplikasi JWT pada 1 September 2023. Anda harus beralih ke opsi OAuth atau OAuth server-ke-server untuk menghindari waktu henti layanan.

Opsi OAuth mengharuskan pengguna Anda mengautentikasi situs web Anda melalui akun Zoom mereka. Tetapi jika Anda hanya membuat tautan rapat Zoom tanpa harus meminta izin pengguna, opsi OAuth server-ke-server adalah pilihan ideal Anda.

Jadi bagaimana Anda bisa mencapai ini dengan Python?

Buat Aplikasi Zoom Server-ke-Server OAuth

Untuk memulai, pergilah ke Pasar Zoom untuk membuat aplikasi baru:

  1. Gulir daftar aplikasi dan temukan OAuth Server-ke-Server spanduk. Kemudian, klik Membuat tombol.
  2. Masukkan nama untuk aplikasi Anda di bidang yang disediakan. Lalu klik Membuat; ini mengarahkan Anda ke halaman lain.
  3. Salin semua kredensial aplikasi, termasuk milik Anda ID Akun, ID klien, Dan Rahasia Klien. Klik Melanjutkan sekali selesai. Anda mungkin ingin menempelkan ini ke file Anda file variabel lingkungan untuk menutupi mereka.
  4. Pada menu berikut isilah dengan Informasi dasar bidang dengan informasi yang sesuai dan klik Melanjutkan tombol.
  5. Klik Melanjutkan di halaman berikut.
  6. Selanjutnya, klik Tambahkan Cakupan dan tambahkan cakupan berikut; Dapatkan URI SIP yang disandikan untuk rapat Dan Lihat dan kelola semua rapat pengguna.
  7. Klik Melanjutkan. Terakhir, klik Aktifkan aplikasi Anda untuk mulai berinteraksi dengan Zoom API melalui aplikasi OAuth server-ke-server Anda.

Setelah selesai dengan langkah sebelumnya, Anda dapat membuat tautan rapat saat bepergian menggunakan Zoom API. Di bawah ini adalah kode lengkap untuk melakukannya.

impor permintaan

# ganti dengan ID klien Anda
klien_id = ""

# ganti dengan ID akun Anda
akun_id = ""

# ganti dengan rahasia klien Anda
rahasia_klien = ""

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

# buat fungsi tautan Zoom
defbuat_meeting(topik, durasi, tanggal_mulai, waktu_mulai):
data = {
"tipe_hibah": "akun_kredensial",
"ID Akun": ID Akun,
"klien_rahasia": client_secret
}
respon = permintaan.posting (auth_token_url,
auth=(client_id, client_secret),
data=data)

jika response.status_code!=200:
mencetak("Tidak dapat memperoleh token akses")
response_data = response.json()
access_token = response_data["akses_token"]

tajuk = {
"Otorisasi": f"Pembawa {token_akses}",
"Jenis konten": "aplikasi/json"
}
muatan = {
"tema": tema,
"durasi": durasi,
'waktu mulai': F'{mulai tanggal}T10:{waktu mulai}',
"jenis": 2
}

resp = permintaan.posting(F"{api_base_url}/users/me/meetings",
tajuk = tajuk,
json=muatan)

jika resp.status_code!=201:
mencetak("Tidak dapat membuat tautan rapat")
response_data = resp.json()

konten = {
"rapat_url": response_data["gabung_url"],
"kata sandi": response_data["kata sandi"],
"waktu pertemuan": response_data["waktu mulai"],
"tujuan": response_data["tema"],
"durasi": response_data["durasi"],
"pesan": "Kesuksesan",
"status":1
}
cetak (isi)

Kode pertama-tama mengirimkan permintaan ke URL token Zoom untuk token otorisasi. Meneruskan ini melalui header ke API Zoom, ini mengembalikan respons yang berisi detail rapat yang ditentukan dalam payload. Pertemuan waktu mulai dikirim dengan payload harus dalam format ISO 8601. Kami telah memformat ini menggunakan operasi string Python.

Misalnya, Anda dapat memanggil fungsi untuk menjadwalkan rapat pada tanggal 23 Agustus 2023 pukul 18:24 sebagai berikut:

buat_pertemuan(
"Uji Rapat Zoom",
"60",
"2023-08-23",
"18:24",
)

API mengembalikan JSON yang berisi banyak informasi, termasuk tautan rapat, kata sandi, dan ID, di antara banyak detail lainnya. Anda dapat mencetak response_data dan ekstrak apa yang Anda butuhkan, seperti yang dilakukan pada kode di atas.

Misalnya, keluaran permintaan kami terlihat seperti ini:

Integrasikan Rapat Zoom ke Aplikasi Anda

Meskipun demonstrasi kami tidak menyertakan pengintegrasian ke situs web atau API Anda, baik membangun dengan Django, Flask, FastAPI, atau kerangka kerja Python lainnya, Anda dapat dengan mudah memasukkan kode ke basis kode Anda.

Dan jika membuat API, Anda dapat mengubahnya menjadi titik akhir yang dapat digunakan oleh klien mana pun. Anda bahkan dapat meminjam ide ini untuk situs web yang dibangun menggunakan bahasa lain selain Python. Misalnya, langkah-langkah untuk membuat aplikasi OAuth server-ke-server bersifat umum.