Rossz pénz nem vész el :-)
Egyébként nem akartam leszólni a Stackoverflow-t, én is sokszor találtam
már ott megoldást a problémáimra, de néha bele lehet futni ilyenekbe is.


Kámán Tibor <[email protected]> ezt írta (időpont: 2020. nov. 14., Szo,
13:00):

> 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 = &quot;&quot;;  var sor=1;    do {    
> var optionalArgs = { pageSize: 10,                         pageToken: 
> nextPageToken,                         fields: 
> &quot;nextPageToken,courses(id,name)&quot; };    var lista = 
> Classroom.Courses.list(optionalArgs);       var nextPageToken = 
> lista.nextPageToken;    for (var i = 0; i       
> if(lista.courses[i].name.indexOf(&quot;teszt&quot;)        
> 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 = &quot;&quot;; 
>        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 &quot;lapozó 
> ciklusba&quot;. 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: &quot;The 
> > limitation seems to be that the Classroom API will not return more than 30 
> > students for some reason.&quot;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/

válasz