[Techinfo] Classroom kurzusok tagjai

Kámán Tibor kamant at freemail.hu
2020. Nov. 14., Szo, 10:30:27 CET


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/
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lista.sulinet.hu/pipermail/techinfo/attachments/20201114/9739f1ad/attachment.html>


További információk a(z) Techinfo levelezőlistáról