[Techinfo] Classroom kurzusok tagjai
Felgimi A
felgimihonlap at gmail.com
2020. Nov. 14., Szo, 12:48:10 CET
NAGYON KIRÁLY - ez picivel volt több mint 2 perc...
Kámán Tibor <kamant at freemail.hu> ezt írta (időpont: 2020. nov. 14., Szo,
10:50):
> Igen, műlködik. Megvannak a hiányzók. :D
>
> "József Venczel" <venczelj69 at 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 <venczelj69 at 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 <kamant at 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
> venczelj69 at 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
> kamant at 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 at 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 at 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/
>
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lista.sulinet.hu/pipermail/techinfo/attachments/20201114/aea406a5/attachment.html>
További információk a(z) Techinfo levelezőlistáról