OAuth kimlik doğrulaması ile sunucudan sunucuya iletişim için Python kullanarak güvenli bir Zoom toplantı bağlantısını nasıl oluşturacağınızı öğrenin.

Zoom toplantılarını Python uygulamanıza entegre etmiş veya yapmayı planlıyor olun, Zoom, 1 Eylül 2023'te JWT uygulamalarını kullanımdan kaldıracağını söylüyor. Hizmet kesintisinden kaçınmak için OAuth veya sunucudan sunucuya OAuth seçeneğine geçmeniz gerekir.

OAuth seçeneği, kullanıcılarınızın Zoom hesapları aracılığıyla web sitenizin kimliğini doğrulamasını gerektirir. Ancak, kullanıcıların iznini istemeden yalnızca Zoom toplantı bağlantıları oluşturuyorsanız, sunucudan sunucuya OAuth seçeneği ideal seçiminizdir.

Peki Python ile bunu nasıl başarabilirsiniz?

Yakınlaştırma Sunucudan Sunucuya OAuth Uygulaması Oluşturun

Başlamak için şuraya gidin: Yakınlaştırma Pazarı yeni bir uygulama oluşturmak için:

  1. Uygulamalar listesinde ilerleyin ve Sunucudan Sunucuya OAuth afiş. Ardından, Yaratmak düğme.
  2. Sağlanan alana uygulamanız için bir ad girin. Sonra tıklayın Yaratmak; bu sizi başka bir sayfaya yönlendirir.
  3. instagram viewer
  4. dahil olmak üzere tüm uygulama kimlik bilgilerini kopyalayın. Hesap Kimliği, Müşteri Kimliği, Ve Müşteri Sırrı. Tıklamak Devam etmek bir kez bitti. Bunları bilgisayarınıza yapıştırmak isteyebilirsiniz. ortam değişken dosyası onları maskelemek için.
  5. Aşağıdaki menüde, doldurun temel bilgiler uygun bilgileri içeren alanları tıklayın ve Devam etmek düğme.
  6. Tıklamak Devam etmek sonraki sayfada.
  7. Sonra, tıklayın Kapsam Ekle ve aşağıdaki kapsamları ekleyin; Bir toplantının kodlanmış SIP URI'sini alın Ve Tüm kullanıcı toplantılarını görüntüleyin ve yönetin.
  8. Tıklamak Devam etmek. Son olarak tıklayın Uygulamanızı etkinleştirin sunucudan sunucuya OAuth uygulamanız aracılığıyla Zoom API ile etkileşime başlamak için.

Önceki adımları tamamladıktan sonra, hareket halindeyken Zoom API'sini kullanarak toplantı bağlantıları oluşturabilirsiniz. Bunu yapmak için tam kod aşağıdadır.

içe aktarmak istekler

# müşteri kimliğiniz ile değiştirin
client_id = ""

# hesap kimliğiniz ile değiştirin
hesap_kimliği = ""

# müşteri sırrınızla değiştirin
client_secret = ""

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

# Yakınlaştırma bağlantısı işlevini oluştur
kesinlikleoluştur_meeting(konu, süre, başlangıç_tarihi, başlangıç_zamanı):
veri = {
"grant_type": "account_credentials",
"hesap_kimliği": hesap_kimliği,
"client_secret": client_secret
}
yanıt = request.post (auth_token_url,
auth=(client_id, client_secret),
veri=veri)

eğer yanıt.durum_kodu!=200:
Yazdır("Erişim belirteci alınamıyor")
yanıt_verileri = yanıt.json()
erişim_token = yanıt_verileri["erişim belirteci"]

başlıklar = {
"Yetki": f"Hamile {access_token}",
"İçerik türü": "uygulama/json"
}
yük = {
"başlık": başlık,
"süre": süre,
'Başlangıç ​​saati': F'{Başlangıç ​​tarihi}T10:{Başlangıç ​​saati}',
"tip": 2
}

yanıt = request.post(F"{api_base_url}/users/me/meetings",
başlıklar=başlıklar,
json=yük)

eğer resp.status_code!=201:
Yazdır("Toplantı bağlantısı oluşturulamıyor")
yanıt_verileri = yanıt.json()

içerik = {
"toplantı_url": yanıt_verileri["url'ye katıl"],
"şifre": yanıt_verileri["şifre"],
"buluşma zamanı": yanıt_verileri["Başlangıç ​​saati"],
"amaç": yanıt_verileri["başlık"],
"süre": yanıt_verileri["süre"],
"İleti": "Başarı",
"durum":1
}
baskı (içerik)

Kod önce Zoom'un belirteç URL'sine bir yetkilendirme belirteci için bir istek gönderir. Bunu başlıklar aracılığıyla Zoom'un API'sine ileterek, yükte belirtilen toplantı ayrıntısını içeren bir yanıt döndürür. Toplantı Başlangıç ​​saati yük ile birlikte gönderilenler ISO 8601 formatında olmalıdır. Bunu biçimlendirdik Python'un dize işlemini kullanarak.

Örneğin, 23 Ağustos 2023 18:24 için bir toplantı planlamak üzere işlevi aşağıdaki şekilde çağırabilirsiniz:

toplantı_oluştur(
"Test Yakınlaştırma Toplantısı",
"60",
"2023-08-23",
"18:24",
)

API, diğer pek çok ayrıntının yanı sıra toplantı bağlantısı, parola ve kimlik gibi pek çok bilgi içeren bir JSON döndürür. yazdırabilirsiniz yanıt_verileri ve yukarıdaki kodda olduğu gibi ihtiyacınız olanı çıkarın.

Örneğin, istek çıktımız şöyle görünür:

Zoom Meeting'i Uygulamanıza Entegre Edin

Gösterimiz web sitenize veya API'nize entegrasyonu içermese de, Django, Flask, FastAPI veya başka herhangi bir Python çerçevesi, kodu kolayca kod tabanınıza ekleyebilirsiniz.

Ve bir API oluşturuyorsanız, onu herhangi bir müşteri tarafından kullanılabilen bir uç noktaya dönüştürebilirsiniz. Python dışında başka diller kullanılarak oluşturulmuş bir web sitesi için bile bu fikri ödünç alabilirsiniz. Örneğin, sunucudan sunucuya OAuth uygulaması oluşturma adımları geneldir.