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.
>>
>>
_______________________________________________
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/