Open rahmanlar opened 3 years ago
test etmemiz lazım, acaba bana ders olduğu zaman hesap bilgilerinizi atabilir misiniz?
Galiba uyarladım, dersim yarın. Yarın deneyeceğim. https://github.com/rahmanlar/sebit-crossplatform/blob/master/ogrenci.js
Merhaba. Sebit VCloud ile EBA aynı uygulamaları ve aynı site sistemini kullanıyorlar ancak script'lerin bulunduğu dizinler farklı. Herhangi bir şekilde bu kodun Sebit VCloud'a göre uygunlaştırılması yapılabilir mi?
Kocaman sebit yazıyor zaten eba'da :smile: birkaç şeyi değiştirince çalışması lazım
Galiba uyarladım, dersim yarın. Yarın deneyeceğim. https://github.com/rahmanlar/sebit-crossplatform/blob/master/ogrenci.js
Muhtemelen çalışmayacak cagriari.com/eba_nonceproxy.php EBA'ya göre ayarlı tokeni bastırıp sebitin kendi adresinden sorgulamak lazım
Zaten sıkıntı da değiştireceğim linki bulamamam, birkaç şey denedim ama bulamadım(https://rahmanlar.github.io/ogrenci.js) Çalışan tek https://sebitvcloud.com/getlivelessoninfo buldum sanırsam.
Girerken F12 ile bakın oradan adreslerin hepsini alabiliriz, sebit'de eba gibi bir uygulama veriyor mu?
sebit'de eba gibi bir uygulama veriyor mu?
evet zoom tabanlı uygulaması var,
ayrıca bir link daha buldum: http://uygulama.sebitvcloud.com/VCloudFrontEndService/livelesson/instudytime/join
Bu ders bilgilerini almak için POST ile yapılıyor olması lazım EBA'daki gibi bundan sonra token sorgulamak için bir adres lazım onu da zoom tabanlı uygulama yapıyor, o adresi de bulmak lazım.
Bir de EBA'da canlı ders bildirimindeki adresler anasayfadaki adreslerden farklı, sebitte de böyle bir şey olabilir. Lazım Olan Adresler Şöyle:
./smali_classes2/us/zoom/sdkexample2/Utils/RequestManager.smali: const-string v0, "https://uygulama-vcloud.sebittest.com/preprod/VCloudFrontEndService//livelesson/nonce/" ./smali_classes2/us/zoom/sdkexample2/Utils/RequestManager.smali: const-string v0, "https://uygulama.sebitvcloud.com/VCloudFrontEndService/livelesson/nonce/"
Apk'yı decompile edince çıktı :D gerisi sizde nonce adresi bu
Teşekkürler bir de böyle deneyeceğim, kendim bir dissassembler programından aramaya çalışmıştım ancak hiç doc okumadan veya bir deneyim olmadan yapınca hiç bir şey anlamamıştım
Nonce kısmına gelene kadar çalıştırmayı başardım, tek sıkıntı derse girerken php kodunu linkin sonuna ekliyor ve yönlendirildiğim yer 404 sayfası oluyor bu yüzden.
Nonce kısmına gelene kadar çalıştırmayı başardım, tek sıkıntı derse girerken php kodunu linkin sonuna ekliyor ve yönlendirildiğim yer 404 sayfası oluyor bu yüzden.
nasıl yani tam olarak
Nonce kısmına gelene kadar çalıştırmayı başardım, tek sıkıntı derse girerken php kodunu linkin sonuna ekliyor ve yönlendirildiğim yer 404 sayfası oluyor bu yüzden.
nasıl yani tam olarak
burda birden fazla hata var, hem /null
hem de php dosyası. php dosyasını sunucu olmadan çalıştıramazsınız
sizin için https://cagriari.com/eba_nonceproxy_sebit.php adresine koydum dosyayı, bu linki çağırmayı deneyebilirsiniz
burda birden fazla hata var, hem
/null
hem de php dosyası. php dosyasını sunucu olmadan çalıştıramazsınız sizin için https://cagriari.com/eba_nonceproxy_sebit.php adresine koydum dosyayı, bu linki çağırmayı deneyebilirsiniz
/null
için resp2.meeting.url
'i "https://us02web.zoom.us/j/"+resp.liveLessonInfo.studyTime.studyTimeId
olarak değiştirin
Ayrıca ek olarak console.log(resp3,resp2)
eklemeniz iyi olabilir görmek için, window.location=...
'nın üstüne
burda birden fazla hata var, hem
/null
hem de php dosyası. php dosyasını sunucu olmadan çalıştıramazsınız sizin için https://cagriari.com/eba_nonceproxy_sebit.php adresine koydum dosyayı, bu linki çağırmayı deneyebilirsiniz
/null
içinresp2.meeting.url
'i"https://us02web.zoom.us/j/"+resp.liveLessonInfo.studyTime.studyTimeId
olarak değiştirinAyrıca ek olarak
console.log(resp3,resp2)
eklemeniz iyi olabilir görmek için,window.location=...
'nın üstüne
Dediginiz gibi yaptigim hâlde hâlâ ayni yere atiyor.
Duzenleme ─ Daha dogrusu artik php kodu cikmiyor, ancak /null sonra token sonra pwd seklinde cikiyor.
window.location satiri ─ window.location = "https://us02web.zoom.us/j/"+resp.liveLessonInfo.studyTime.studyTimeId + "?tk=" + resp3.substring(1).split('|')[0];
Ayrica sebit in kendi zoom subdomaini var sebit.zoom.us seklinde, bu uygulamayi gormeden meeting id ve sifreyi arkadaslarimdan alip sebit.zoom.us ustune koyup deniyordum, ancak meeting registration sayfasina atiyordu.
Duzenleme ─ Daha dogrusu artik php kodu cikmiyor, ancak /null sonra token sonra pwd seklinde cikiyor.
Null çıkması garip, muhtemelen tokeni alabiliyorsunuz pwd varsa; resp2.meeting.url
, resp.liveLessonInfo.studyTime.studyTimeId
ve resp3
yi örnek olarak gösterebilirmisiniz?
Bir seyi eksik yapmisim, duzelttim ancak simdi de Uncaught TypeError: resp.liveLessonInfo is undefined hatasi ile karsilasiyorum. Degiskenin adi farkli galiba.
Muhtemelen Farklı
https://sebitvcloud.com/getlivelessoninfo 'dan gelen JSON'a bakın. Orada studyTimeId
nerede diye bakmak lazım. Ayrıca daha önceden böyle bir sıkıntı yoktu şimdi neden hata veriyor?
https://sebitvcloud.com/getlivelessoninfo ve diğer adreslerden gelen yanıtları paylaşabilirseniz daha rahat çözülebilir.
@rahmanlar bir çözüm bulabildiniz mi?
@rahmanlar bir çözüm bulabildiniz mi?
Son günlerde çok bakamıyorum, bir gün bakınca deneyeceğim.
Gelen JSON şu şekilde:
{"operationMessage":"success","operationCode":200,"success":true,"liveLessonInfo":{"frontEndUrl":"https://uygulama.sebitvcloud.com/VCloudFrontEndService","siteUrl":"https://www.sebitvcloud.com","redirectUrl":"https://www.sebitvcloud.com","name":"öğrenci ismi","surname":"öğrenci soyadı","serverTime":1609242428643,"studyTime":{"id":"3fe6650cf67c32f9ee0fcd3d700f6ce3bafc6bb4555ede9d1e8e001353cc11b2","studyTimeId":"3fe6650cf67c32f9ee0fcd3d700f6ce3","studyTimeTitle":"ders ismi","studyTimeCurrNodeId":"63f2d6301e2fdc8bc2a1432ea6c63d82","ownerId":"öğretmen id'si","ownerName":"öğretmen ismi","deleted":false,"term":"2020-2021","schoolId":"okul id'si","classroom":kaçıncı sınıf,"startDate":1609241400000,"endDate":1609243800000,"createDate":1609088082000,"typeId":2,"courseName":null,"meetingId":"giriş id'si","meetingPassword":"giriş şifresi","meetingDuration":40,"meetingStartUrl":"başlatma linki","meetingJoinUrl":"giriş linki","registrantId":null,"registrantJoinUrl":null,"modifiedDate":null,"courseCode":"tur","currNodeName":"hangi sınıf"},"schoolName":"okul ismi","corporation":{"id":"kurum id'si","name":"kurum ismi","createDate":1525878888817,"deleted":false}}}
Aynen bunun düzgün çalışması lazım bir sıkıntı gözükmüyor. Çalıştırmayı denediğinizde sıkıntı oldu mu bu sefer?
Hata 122. satırda, null'un çözümü için orayı değiştirmiştim. Şimdi fark ettim, birden çok window.location satırı var. Yanlış şeyi değiştirmiş olabilirim.
Sizde buna benzer bir sayfa çıkıyor mu?(muhtemelen çıkıyor, getlivelessoninfo adresi bu sayfa için) Çıkıyorsa adresi nedir, betik adresten bakıyor çünkü. Yanlış sayfa için çalışıyor olabilir. Bu durumda Uncaught TypeError: resp.liveLessonInfo is undefined
bu hatayı vermesinin sebebi bu olabilir.
Sizde buna benzer bir sayfa çıkıyor mu?(muhtemelen çıkıyor, getlivelessoninfo adresi bu sayfa için) Çıkıyorsa adresi nedir, betik adresten bakıyor çünkü. Yanlış sayfa için çalışıyor olabilir. Bu durumda
Uncaught TypeError: resp.liveLessonInfo is undefined
bu hatayı vermesinin sebebi bu olabilir.
Evet, çıkıyor. 3 dakika sonra ders başlayacak. O zaman bakabilirim.
Böyle yapınca da https://uygulama.sebitvcloud.com/VCloudFrontEndService/livelesson/instudytime/join adresinden 403 hatası aldım.
Böyle yapınca da https://uygulama.sebitvcloud.com/VCloudFrontEndService/livelesson/instudytime/join adresinden 403 hatası aldım.
Başka bir adres daha var o zaman dediğim gibi (ya da VCloudFrontEndService//livelesson olması lazım), normal ve bu sayfadaki adresler farklı. Derse girerken F12 den bakabilirsiniz.
Ders için nonce tokeni alınan adres (Bulunmuş ancak hangi sayfada kullanılıyor bu da lazım, ebadaki bildirim adresleri farklı) https://uygulama.sebitvcloud.com/VCloudFrontEndService/livelesson/instudytime/join https://uygulama-ebaders.eba.gov.tr/ders/FrontEndService//livelesson/inpage/instudytime/start (ebadaki)
https://uygulama.sebitvcloud.com/VCloudFrontEndService/livelesson/inpage/instudytime/start Network kısmından baktığımda bunu buldum.
https://uygulama.sebitvcloud.com/VCloudFrontEndService/livelesson/inpage/instudytime/start
Aynen, adres farklı. Bu sayfada bunu kullanın.
Tamam, şimdi bence daha büyük bir sıkıntı var, şu adrese attı: https://us02web.zoom.us/j/?tk=XN7nNLqVWXFu26njD2FQXIUohLMVB1w8NbRN11kj25o.DQIAAAATwZ9E2xZwQXBrODJfOVM4LUtKdHVvVnI1NzlnAAAAAAAAAAAAAAAAAAAAAAAAAAAA&pwd=WjFQQ0V3TTZKYVdVcG1aSGx4SUljUT09
burda birden fazla hata var, hem
/null
hem de php dosyası. php dosyasını sunucu olmadan çalıştıramazsınız sizin için https://cagriari.com/eba_nonceproxy_sebit.php adresine koydum dosyayı, bu linki çağırmayı deneyebilirsiniz
/null
içinresp2.meeting.url
'i"https://us02web.zoom.us/j/"+resp.liveLessonInfo.studyTime.studyTimeId
olarak değiştirinAyrıca ek olarak
console.log(resp3,resp2)
eklemeniz iyi olabilir görmek için,window.location=...
'nın üstüne
Bundan ötürü oldu muhtemelen window.location satırını atabilirmisiniz? meeting id yok sadece onun dışında herşey iyi gözüküyor
Bundan ötürü oldu muhtemelen window.location satırını atabilirmisiniz? meeting id yok sadece onun dışında herşey iyi gözüküyor
window.location = "https://us02web.zoom.us/j/"+resp.liveLessonInfo.studyTime.studyTimeId + "?tk=" + resp3.substring(1).split('|')[0];
Sanırsam dersin son 10 dakikasında bahsettiğiniz giriş ekranı çıkmıyor, denemek için bir dahaki derse kadar beklemem lazım.
Sanırsam dersin son 10 dakikasında bahsettiğiniz giriş ekranı çıkmıyor, denemek için bir dahaki derse kadar beklemem lazım.
Sıkıntı değil.
https://uygulama.sebitvcloud.com/VCloudFrontEndService/livelesson/inpage/instudytime/start Bu adresten gelen JSON'u da atabilirmisiniz gelince, orada giriş adresi olması lazım. Normalde onunla birleştiriyoruz EBA'da ama Sebit'te farklımıdır bilmiyorum. Ona bakmak lazım. Varsa direk birleştirip girebilirsiniz.
Yoksa da resp.liveLessonInfo.studyTime.studyTimeId 'olan kısmı meeting id yi bulup eklemek lazım.
Invalid Meeting ID (-1) hatası aldım, https://uygulama.sebitvcloud.com/VCloudFrontEndService/livelesson/inpage/instudytime/start adresi bad request veriyor ancak meeting id'nin gelmesi gereken yerde fb921fe34ce46f06ba5d705146a66429 yazıyor
Invalid Meeting ID (-1) hatası aldım, https://uygulama.sebitvcloud.com/VCloudFrontEndService/livelesson/inpage/instudytime/start adresi bad request veriyor ancak meeting id'nin gelmesi gereken yerde fb921fe34ce46f06ba5d705146a66429 yazıyor
resp.liveLessonInfo.studyTime.studyTimeId
bu yanlış, sebit tarafındaki id bu. start'dan dönenin içinde ekstradan zoom için meeting id ve join url gelmesi lazım
Bad Request in sebebi POST body'si olabilir, ama önceki isteklerde çalıştı. F12 den yakaladıklarınızda start adresine yapılan POST'ta ne vardı. Bazen sapıtıp hata verebiliyor onları bakmayın :smile:
meeting id'nin gelmesi gereken yerde fb921fe34ce46f06ba5d705146a66429 yazıyor
Bu normal, EBA'da zoom için de meeting id geliyor ve join url de birleştirilmiş olarak bulunuyor. Ancak herhangi bir zoom id si bulamadıysanız nonce tokenini sorguladığımız adresten geliyor olabilir.
Bir de reponuzu güncelleyebilir misiniz mümkünse? Ne kullandığınızı görelim. Hem ekleme çıkarma yapmak daha kolay olur PRlar ile.
PR açtığınızı fark etmemiştim, şimdi merge ettim. Ders olduğu zaman deneyeceğim.
PR'ı merge ettiğimde null hatası geri döndü. O kalmış sanırsam. Düzelttim.
Invalid Meeting ID (-1) hatası aldım.
Bu devam ediyor bu arada.
PR'ı merge ettiğimde null hatası geri döndü. O kalmış sanırsam. Düzelttim.
Tam olarak düzeltilmedi aslında :smile:, onu tam olarak düzeltmek için start adresinden gelen JSON lazım, Gereken ID ve adresler buradamı diye bakmak lazım. Bunu çözünce Invalid Meeting ID hatasıda gidecek, düzelttiğiniz halde meeting id olmadan gönderiyor olması lazım. O yüzden hata veriyor.
yönlendirildiğiniz adresi atabilirmisiniz bir de, belki id ile beraber herşey vardır ancak encoding ile ilgili bir problem olabilir.
PR'ı merge ettiğimde null hatası geri döndü. O kalmış sanırsam. Düzelttim.
Tam olarak düzeltilmedi aslında , onu tam olarak düzeltmek için start adresinden gelen JSON lazım, Gereken ID ve adresler buradamı diye bakmak lazım. Bunu çözünce Invalid Meeting ID hatasıda gidecek, düzelttiğiniz halde meeting id olmadan gönderiyor olması lazım. O yüzden hata veriyor.
yönlendirildiğiniz adresi atabilirmisiniz bir de, belki id ile beraber herşey vardır ancak encoding ile ilgili bir problem olabilir.
GitHub'a çok bakmıyorum, yazınızı görmemiştim. Umarım hafta içi dev tool'un bağlantı kısmından bakacağım.
Start'ın JSON'unu almak için başka bir yöntem gerekiyor, Bad Request alıyorum, Bad Request sayfasında mesaj olarak da "Required String parameter 'studytimeid' is not present" yazıyor.
Ayrıca uygulamanın açılması için sbtzoom:o=join&m=84439488675&t=5dc542226d766d8b6ff5b728e5559f60
şeklinde bir veri geliyor. Bu linki tek başına açmayı denediğimde uygulama çöküyor, sadece Sebit'in sitesinden açılınca çalışıyor. Büyük ihtimal "start" ile ilgili ama ona da şuan erişemiyorum dediğim gibi.
sebit hesabı olan birisi ders olduğu bir zaman https://t.me/cagri üzerinden benimle hesap bilgilerinizi paylaşabilirse inceleyip gerekli düzenlemeleri yapıp yeni bir repo açabilirim
Start'ın JSON'unu almak için başka bir yöntem gerekiyor, Bad Request alıyorum, Bad Request sayfasında mesaj olarak da "Required String parameter 'studytimeid' is not present" yazıyor.
Bad Request'in sebebi resp.liveLessonInfo.studyTime.studyTimeId 'nin tanımsız olması muhtemelen.
Ayrıca uygulamanın açılması için
sbtzoom:o=join&m=84439488675&t=5dc542226d766d8b6ff5b728e5559f60
şeklinde bir veri geliyor. Bu linki tek başına açmayı denediğimde uygulama çöküyor, sadece Sebit'in sitesinden açılınca çalışıyor. Büyük ihtimal "start" ile ilgili ama ona da şuan erişemiyorum dediğim gibi.
Adres doğru ancak garipmiş, start ile ilgisi yok ama normalde tarayıcıya direk yazıldığında açması lazım. Ancak daha önce bununla uygulama açıldıysa çökmesi normal 5dc542226d766d8b6ff5b728e5559f60
tokeni tek kullanımlık çünkü ikinciye kullanıldığında bir şey dönmüyor.
@sh4dowb 'nin dediği gibi bir erişim çok yardımcı olabilir. Mümkün değilse normal bir derse girerken F12 den kaydedip HAR dosyası olarak özelden atmanızda iyi olabilir.
Merhaba. Sebit VCloud ile EBA aynı uygulamaları ve aynı site sistemini kullanıyorlar ancak script'lerin bulunduğu dizinler farklı. Herhangi bir şekilde bu kodun Sebit VCloud'a göre uygunlaştırılması yapılabilir mi?