zoom üzerinden büyük katılımlı dersler yapıyoruz ama yoklama alınması gerekiyor ve bu işlem çok uzun sürüyor.
zoom programında participants diye bi kısım var ve burda katılımcıların isimleri yazıyor bunu burdan çekip txt isim listesi ile karşılaştırıp eksik ve fazla isimleri bana listelesin istiyorum python ile pek bir geçmişim yok ve nasıl yapacağımı da bilmiyorum yol gösterebilirseniz sevinirim.
Zoom hesabınız varsa, https://marketplace.zoom.us üzerinden bir tane uygulama oluşturup API’yi kullanmaya başlayabilirsiniz. Hiç bir kredi kartı bilgisi vermedim, talep eden de olmadı. Dolayısıyla ücretsiz olduğunu düşünüyorum.
Uygulama türlerinden JWT ile bir uygulama oluşturursanız size bir token verir. Böylece bu tokeni kullanarak API sorguları yapabilirsiniz. Aşağıda, JWT ile bir sorguyu nasıl yapacağınızı görtermiş.
import http.client
conn = http.client.HTTPSConnection("api.zoom.us")
headers = {
'authorization': "Bearer JWT_TOKEN", # <--------- Burada JWT Tokeniniz olacak
'content-type': "application/json"
}
conn.request("GET", "/v2/users?status=active&page_size=30&page_number=1", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Bazı API sorguları JWT ile değil, yalnızca OAuth ile kullanılabiliyor. JWT’yi örnek olması açısından burada paylaştım.
hocam cevabınız için çok teşekkür ederim dediğiniz gibi bir api oluşturmayı başardım. fakat katılımcıları nasıl alıcağım konusunda hiçbir fikrim yok malesef.
Bayağı zaman önce ben de bunu yapmak için uğraştım. Canlı derslerde rahat yoklama almak adına birşeyler geliştireyim dedim. İnternette araştırma yaptıktan sonra coderistan’ın belirttiği zoom markette JWT uygulaması oluşturdum.
Market ana sayfada gösterdiğim yerden yeni bir uygulama api’si oluşturabilir ya da oluşturduğunuzu görebilirsiniz.
Kopyaladığınız tokeni coderistanın belirttiği örnekte uygun yere yapıştırın. Ben çok denedim fakat hep {"code":124,"message":"Invalid access token."} hatası aldım. Çözersek bizim de çok işimize yarar.
import http.client
conn = http.client.HTTPSConnection("api.zoom.us")
headers = {
'authorization': "TOKENI_YAPISTIR", # <--------- Burada JWT Tokeniniz olacak
'content-type': "application/json"
}
conn.request("GET", "/v2/users?status=active&page_size=30&page_number=1", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Tabi hatayı araştırdım, karşılaşanlar çok lakin neticede bir çözüm bulamadım.
Coderistan hocamın tavsiyesi ile o şekilde JWT uygulaması oluşturup tokeni aldım koddaki uygun yere yapıştırdım ama yoğunluğumdan hata verdi mi vermedi mi tam hatırlamıyorum şuanda bilgisayara ulaşamıyorum yarın ilk fırsat deneyip haber vereceğim eğer bunu yapabilirsek gerçekten işimi çok kolaylaştıracak.
Hocam ben de çok bilgi sahibi değilim. Bir uygulamadan bilgi almanın en sağlıklı yolunun API kullanmak olduğunu düşündüğüm için size linkini verdim.
Bugün bir iki deneme yaptım, bazı API sorgularını yapabilirken bazılarını yapamadım. Ve malesef bir buluşmadaki kullanıcı listesini elde etmek için ücretli sürüme sahip olmak gerekiyor. Yardımcı olabilecek başka bir önerim de yok malesef.
Bu arada bilgi olsun diye paylaşmak istiyorum. Zoom API kullanmak için geliştirilen bir Python kütüphanesi
Hocam bu hatanın sebebi, tokeni yalnız değil Bearer JWT_TOKEN ile birlikte yazmanız gerekiyor.
headers = {
'authorization': "Bearer JWT_TOKEN", # <--------- Burada JWT Tokeniniz olacak
'content-type': "application/json"
}
şöyle bir şey geldi aklıma zoom da ilk başta bahsettiğim gibi kullanıcıların adını listelediği participants adında bir bölüm var burdan ekran görüntüsü alsak sonra o görsel üzerindeki isimleri pythona okutturup elimizdeki liste ile karşılaştırma gibi bir imkanımız var mı ?
OCR kütüphaneleri var ama sağlıklı bir şekilde okuyabilecekleri garanti değil hocam. Pytesseract kütüphanesi, bir görüntü üzerinden yazıları çıkartıyor ama her zaman doğru sonucu vermiyor. Belki de ben beceremedim bilmiyorum.
Kullanabilmek için tesseract-orc uygulamasını indirmeniz gerekiyor.
Şimdi aklıma geldi. Zoom buluşmasına web üzerinden giriş yaparsanız kullanıcılar listesi Javascript yardımıyla alınabilir sanırım. Bu listeyi bir python programına verdiğinizde karşılaştırma yapabilir.
kullanicilar = document.getElementsByClassName("participants-item__display-name");
var result = "";
for(let i=0;i<kullanicilar.length;i++){
result += kullanicilar[i].innerText + "\n";
}
console.log(result);
Web sayfasında, participants butonuna tıklayıp, yukarıdaki kodu web konsolunda çalıştırırsanız kullanıcıların listesini konsola yazdıracaktır. Bu listeyi alıp Python programınızda bir listeyle karşılaştırırsınız. Evet biliyorum, zahmetli bir iş ama daha iyi bir çözümü olan varsa yazar.
çok teşekkür ederim hocam. bu yöntem zahmetli de olsa 80 90 kişiyi tek tek kontrol etmekten daha iyi gibi pythonda karşılaştırma işini de çözersem bi nebze rahatlatır beni
aklımda şöyle bir şey oluştu şimdilik qt de bir arayüz tasarlıyacağım 2 girdili birisi listem olacak olması gerekenler bunu giricem ikinci kısma ise tarayıcadan aldığım isimleri giricem bir buton vasıtası ile de yoklama al a basınca ilk listede olup 2. listede olmayan isimleri bana listeleyecek qt tasarımını yapacam da kod konusunda 0 'ım