从“课堂”创建学生花名册

Create student roster from Classroom

我正在尝试从 google 班级花名册中提取学生信息。这是我目前所拥有的:

function studentRoster() {
  var optionalArgs = {
    pageSize: 2
  };
  var getStudents = Classroom.Courses.Students.list("757828465",optionalArgs).students;
  Logger.log(getStudents);
}

桑迪在下面的回答帮助解决了我的部分问题,我将其作为日志记录(姓名、ID、电子邮件等已更改):

[16-01-05 17:44:04:734 PST] [{profile={photoUrl=https://lh3.googleusercontent.com/-XdUIqdMkCWA/AAAAAAAAAAI/AAAAAAAAAAA/4252rscbv5M/photo.jpg, emailAddress=jsdoe@fjuhsd.org, name={givenName=John, familyName=Doe, fullName=John Doe}, id=108117124004883828162}, courseId=757828465, userId=108117124004883828162}, {profile={photoUrl=https://lh3.googleusercontent.com/-XdUIqdMkCWA/AAAAAAAAAAI/AAAAAAAAAAA/4252rscbv5M/photo.jpg, emailAddress=jhdoe@fjuhsd.org, name={givenName=Jane, familyName=Doe, fullName=Jane Doe}, id=115613162385930536688}, courseId=757828465, userId=115613162385930536688}]

所以我现在的问题是:如何只提取此信息的某些部分(如全名和电子邮件)?

最终结果将把它推到 google sheet。

快速入门示例使用 list 方法,list 方法采用可选的查询参数。其中之一是 pageSize.

Query parameters for List

您正在使用 get 方法。

Documentation - Get method

get 方法的唯一选项是 Path。而且只有一个设置,id.

所以,那个名为 optionalArgs 的对象字面量,你不需要你正在做的事情。 optionalArgs 是一个对象,因为它有大括号,并且有 "key/value" 对的元素。它是 "literal",因为它是输入到代码中的,而不是用代码构建对象。

如果您进行了搜索(使用 Ctrl + F 打开搜索对话框)并搜索了 optionalArgs,您会发现它没有在任何地方使用。因此,使用 get 方法时不需要 optionalArgs 对象和 pageSize 属性。

课堂 API 参考下的集合部分可以帮助阐明访问所需字段所需的一些对象链。

以下代码将生成学生姓名、他们的电子邮件和相关课程 ID 的列表。

function listStudents() {
  var optionalArgs = {
    pageSize: 0     // Max output
  };
  var response = Classroom.Courses.Students.list(xxxxxxxxx; // Put CourseID here
  var students = response.students;
  if(students && students.length > 0){
    for( i = 0; i < students.length; i++){
     var student = students[i];
     // fullName is normally prefixed with s/      use of .substring removes first two characters
     Logger.log('%s %s %s',  student.profile.name.fullName.substring(2), student.profile.emailAddress, student.courseId    );
    }
  } else {
    Logger.log('No students in this course');
  } 
}

Collection courses.students