Php 谷歌教室api学生名单

Php 谷歌教室api学生名单,php,google-api,google-classroom,Php,Google Api,Google Classroom,有人能帮我列出使用谷歌课堂API的特定班级的学生吗。我已经搜索了API文档,但似乎找不到该怎么做 我基本上需要这样做 这是我正在使用的代码。它与其他功能一起工作(例如,$service->students->listCoursesStudents($course\u id);): 我已经尝试了应用程序脚本,它工作正常。以下是代码片段: function listStudent(){ var optionalArgs = { pageSize: 10 }; var respon

有人能帮我列出使用谷歌课堂API的特定班级的学生吗。我已经搜索了API文档,但似乎找不到该怎么做

我基本上需要这样做

这是我正在使用的代码。它与其他功能一起工作(例如,
$service->students->listCoursesStudents($course\u id);
):


我已经尝试了应用程序脚本,它工作正常。以下是代码片段:

function listStudent(){

var optionalArgs = {
    pageSize: 10
  };
  var response = Classroom.Courses.list(optionalArgs);
  var courses = response.courses;
  if (courses && courses.length > 0) {
    for (i = 0; i < courses.length; i++) {
      var course = courses[i];
      Logger.log('%s (%s)', course.name, course.id);

      var response2 = Classroom.Courses.Students.list(course.id)
      var students = response2.students;
      if(students && students.length > 0){
      for (j = 0; j < students.length; j++){
           var student = students[j];
           Logger.log('%s (%s)', student.profile, student.userId);
           }
      }


    }
  } else {
    Logger.log('No courses found.');
  }

}
函数listStudent(){
变量optionalArgs={
页面大小:10
};
var响应=教室.课程.列表(可选参数);
var课程=响应课程;
如果(课程和课程长度>0){
对于(i=0;i0){
对于(j=0;j
您可以对其进行测试,如果这不是PHP代码,请道歉


希望这有帮助。

好的,PHP的修复程序是$response=$service->courses\u student->listcursesstudens($courseu id)

我基本上是根据Rebot先生上面的帖子猜的。如果有人知道谷歌的PHP文档在哪里,我将非常感谢你的链接

职能G_课程花名册($Course_id){


}

这是我想出的代码。此代码在单独的选项卡上以表格的形式列出每门课程的学生

由于某些原因,教室API返回的学生人数似乎不超过30人

    function listStudents() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var optionalArgs = {
    pageSize: 0
  }; 

  //var response = Classroom.Courses.list();
  var courses = Classroom.Courses.list(optionalArgs).courses;


 for (var c = 0; c < courses.length; c++) {
      var course = courses[c];
      var courseName = course.name;
      var courseId = course.id;
      var students = Classroom.Courses.Students.list(courseId).students;        

  ss.insertSheet(course.name); 
  ss.getRange("A1").setValue('Last Name');
  ss.getRange("B1").setValue('First Name');
  ss.getRange("C1").setValue('Email');
  ss.getRange("D1").setValue('ID');
  ss.getActiveSheet().getRange(1,1,1,4).setBackground('silver').setFontSize(12).setFontWeight('bold');
  ss.setFrozenRows(1);


  for( var i = 0; i<students.length; i++) {


     var student = students[i]; 
     var profile = student.profile;
     var firstName = profile.name.givenName;
     var lastName = profile.name.familyName;
     var email = profile.emailAddress;

     SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(i+2, 1).setValue(lastName);
     SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(i+2, 2).setValue(firstName);
     SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(i+2, 3).setValue(email);
     SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(i+2, 4).setValue(email.substring(1,6));

  }
 }
}
函数列表学生(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getActiveSheet();
变量optionalArgs={
页面大小:0
}; 
//var response=教室.Courses.list();
var courses=教室.courses.list(可选参数).courses;
对于(var c=0;c对于(var i=0;它确实有帮助。PHP方面似乎没有很好的文档记录。在PHP中调用$response=$service->courses\u students->listcursesstudens($course\u id);很高兴我能提供帮助默认页面大小可能是30我也找不到任何专门适用于此的文档。你可能会认为一家规模巨大、价值数十亿美元的跨国公司可以提供可读的文档……你错了。
$clientId = '111111111111111111'; 
$serviceAccountName = 'name@vocal-affinity-11111111.iam.gserviceaccount.com';
$delegatedAdmin = 'email@email.net';
// service account p12 key file:
$keyFile = '/home/rootfolder/vendor/Google OAuth Login-1111111111.p12';
$appName = 'name';
$scopes = array(
    'https://www.googleapis.com/auth/classroom.profile.emails',
    'https://www.googleapis.com/auth/classroom.profile.photos',
    'https://www.googleapis.com/auth/classroom.rosters.readonly'
    );
$creds = new Google_Auth_AssertionCredentials(
    $serviceAccountName,
    $scopes,
    file_get_contents($keyFile)
); 
$creds->sub = $delegatedAdmin;
$client = new Google_Client();
$client->setApplicationName($appName);
$client->setClientId($clientId);
$client->setAssertionCredentials($creds);
$service = new Google_Service_Classroom($client);
$optParams = array(
    'courseId' => $course_id
);
$response = $service->courses_students->listCoursesStudents($course_id);
return $response;
    function listStudents() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var optionalArgs = {
    pageSize: 0
  }; 

  //var response = Classroom.Courses.list();
  var courses = Classroom.Courses.list(optionalArgs).courses;


 for (var c = 0; c < courses.length; c++) {
      var course = courses[c];
      var courseName = course.name;
      var courseId = course.id;
      var students = Classroom.Courses.Students.list(courseId).students;        

  ss.insertSheet(course.name); 
  ss.getRange("A1").setValue('Last Name');
  ss.getRange("B1").setValue('First Name');
  ss.getRange("C1").setValue('Email');
  ss.getRange("D1").setValue('ID');
  ss.getActiveSheet().getRange(1,1,1,4).setBackground('silver').setFontSize(12).setFontWeight('bold');
  ss.setFrozenRows(1);


  for( var i = 0; i<students.length; i++) {


     var student = students[i]; 
     var profile = student.profile;
     var firstName = profile.name.givenName;
     var lastName = profile.name.familyName;
     var email = profile.emailAddress;

     SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(i+2, 1).setValue(lastName);
     SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(i+2, 2).setValue(firstName);
     SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(i+2, 3).setValue(email);
     SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(i+2, 4).setValue(email.substring(1,6));

  }
 }
}