NAGYON KIRÁLY - ez picivel volt több mint 2 perc... Kámán Tibor <[email protected]> ezt írta (időpont: 2020. nov. 14., Szo, 10:50):
> Igen, műlködik. Megvannak a hiányzók. :D > > "József Venczel" <[email protected]> írta: > > Készen is van: > //------------------------------------------------------------ > function Kurzuslistazo() { > > var nextPageToken = ""; > var sor=1; > > do { > var optionalArgs = { pageSize: 10, > pageToken: nextPageToken, > fields: "nextPageToken,courses(id,name)" }; > > var lista = Classroom.Courses.list(optionalArgs); > > var nextPageToken = lista.nextPageToken; > > for (var i = 0; i < lista.courses.length; i++){ > if(lista.courses[i].name.indexOf("teszt")<0){ > > SpreadsheetApp.getActiveSheet().getRange(sor,1).setValue(lista.courses[i].name); > sor++; > > tanarok=Classroom.Courses.Teachers.list(lista.courses[i].id); > if(tanarok.teachers) > for(var j = 0; j<tanarok.teachers.length; j++){ > > SpreadsheetApp.getActiveSheet().getRange(sor,2).setValue(tanarok.teachers[j].profile.name.fullName); > sor++; > } > > var nextPageToken2 = ""; > do{ > var studentsArgs = { pageSize: 30, > pageToken: nextPageToken2}; > diakok=Classroom.Courses.Students.list(lista.courses[i].id, > studentsArgs); > if(diakok.students) > for(var j = 0; j<diakok.students.length; j++){ > > SpreadsheetApp.getActiveSheet().getRange(sor,2).setValue(diakok.students[j].profile.name.fullName); > sor++; > } > > nextPageToken2 = diakok.nextPageToken; > } while (nextPageToken2) > } > } > > } while (nextPageToken); > } > //------------------------------------------------------------ > > Most már tökéletes a script! > Legalább is, amíg valaki nem talál benne másik hibát ;o) > A tanárok esetében meg remélhetően nincs erre szükség ;o) > > Üdv, > Venczel József > > József Venczel <[email protected]> ezt írta (időpont: 2020. nov. 13., > P, 23:18): > >> Szia! >> >> Rákerestem, amit Te találtál, az csak egy Stackoverflow-os >> blogbejegyzés.Ne dőlj be neki! ;o) >> A leírásában az van, hogy csak egyszerre nem listáz többet: >> https://developers.google.com/classroom/reference/rest/v1/courses.students/list >> >> >> Erre nem figyeltem. Akkor ezt is be kell tenni egy "lapozó ciklusba". >> Mindjárt javítom. >> >> A Google API lekérdező, listázó része mind így működik. Olyan, mintha a >> grafikus felületét használnád. >> A kurzusoknál is egyszerre max. 500-at listáz ki. >> Erre ők sem figyeltek, úgyhogy az a példaprogram, amit hozzá írtak a >> dokumentációban, nem is működik jól ;o) >> >> >> Üdv, >> Venczel József >> >> Kámán Tibor <[email protected]> ezt írta (időpont: 2020. nov. 13., P, >> 22:47): >> >>> Sajnos ezt találtam: >>> >>> "The limitation seems to be that the Classroom API will not return more >>> than 30 students for some reason." >>> >>> Azaz kb.: >>> >>> Úgy tűnik, hogy az a korlátozás, hogy a Classroom API valamilyen oknál >>> fogva nem ad vissza 30 tanulónál többet. >>> >> > Készen is > van://------------------------------------------------------------function > Kurzuslistazo() { var nextPageToken = ""; var sor=1; do { > var optionalArgs = { pageSize: 10, pageToken: > nextPageToken, fields: > "nextPageToken,courses(id,name)" }; var lista = > Classroom.Courses.list(optionalArgs); var nextPageToken = > lista.nextPageToken; for (var i = 0; i > if(lista.courses[i].name.indexOf("teszt") > SpreadsheetApp.getActiveSheet().getRange(sor,1).setValue(lista.courses[i].name); > sor++; > tanarok=Classroom.Courses.Teachers.list(lista.courses[i].id); > if(tanarok.teachers) for(var j = 0; j > SpreadsheetApp.getActiveSheet().getRange(sor,2).setValue(tanarok.teachers[j].profile.name.fullName); > sor++; } var nextPageToken2 = ""; > do{ var studentsArgs = { pageSize: 30, > pageToken: nextPageToken2}; > diakok=Classroom.Courses.Students.list(lista.courses[i].id, studentsArgs); > if(diakok.students) for(var j = 0; j > SpreadsheetApp.getActiveSheet().getRange(sor,2).setValue(diakok.students[j].profile.name.fullName); > sor++; } nextPageToken2 = > diakok.nextPageToken; } while (nextPageToken2) } } } while > (nextPageToken);} > > //------------------------------------------------------------ Most már > tökéletes a script! Legalább is, amíg valaki nem talál benne másik hibát > ;o) > > > A tanárok esetében meg remélhetően nincs erre szükség ;o)Üdv,Venczel > JózsefJózsef Venczel > [email protected] > > ezt írta (időpont: 2020. nov. 13., P, 23:18):Szia!Rákerestem, amit Te > > találtál, az csak egy Stackoverflow-os blogbejegyzés.Ne dőlj be neki! ;o)A > > leírásában az van, hogy csak egyszerre nem listáz többet: > https://developers.google.com/classroom/reference/rest/v1/courses.students/list > > Erre nem figyeltem. Akkor ezt is be kell tenni egy "lapozó > ciklusba". Mindjárt javítom.A Google API lekérdező, listázó része mind > így működik. Olyan, mintha a grafikus felületét használnád.A kurzusoknál is > egyszerre max. 500-at listáz ki.Erre ők sem figyeltek, úgyhogy az a > példaprogram, amit hozzá írtak a dokumentációban, nem is működik jól ;o) > Üdv,Venczel JózsefKámán Tibor > [email protected] > > ezt írta (időpont: 2020. nov. 13., P, 22:47):Sajnos ezt találtam: "The > > limitation seems to be that the Classroom API will not return more than 30 > > students for some reason."Azaz kb.: Úgy tűnik, hogy az a korlátozás, > > hogy a Classroom API valamilyen oknál fogva nem ad vissza 30 tanulónál > > többet. > > > _______________________________________________ > Techinfo mailing list > [email protected] > Fel- és leiratkozás: > http://lista.sulinet.hu/cgi-bin/mailman/listinfo/techinfo > Illemtan: http://www.szag.hu/illemtan.html > Ügyfélszolgálat FAQ: http://sulinet.niif.hu/ > > _______________________________________________ > Techinfo mailing list > [email protected] > Fel- és leiratkozás: > http://lista.sulinet.hu/cgi-bin/mailman/listinfo/techinfo > Illemtan: http://www.szag.hu/illemtan.html > Ügyfélszolgálat FAQ: http://sulinet.niif.hu/ >
_______________________________________________ Techinfo mailing list [email protected] Fel- és leiratkozás: http://lista.sulinet.hu/cgi-bin/mailman/listinfo/techinfo Illemtan: http://www.szag.hu/illemtan.html Ügyfélszolgálat FAQ: http://sulinet.niif.hu/
