Igen, műlködik. Megvannak a hiányzók. :D "József Venczel" <venczel...@gmail.com> í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 <venczel...@gmail.com> 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 <kam...@freemail.hu> 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 venczel...@gmail.com> 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 kam...@freemail.hu> 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 >Techinfo@lista.sulinet.hu >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 Techinfo@lista.sulinet.hu 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/