从课堂

时间:2016-01-05 20:34:33

标签: google-apps-script google-classroom

我正试图从谷歌教室名单中提取学生信息。以下是我到目前为止的情况:

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

Sandy在下面的回答有助于解决我的部分问题,我将其作为日志(姓名,身份证,电子邮件等)进行了解决:

  

[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}]

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

最终结果将是推送到谷歌表。

2 个答案:

答案 0 :(得分:1)

“课堂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');
  } 
}
&#13;
&#13;
&#13;

Collection courses.students

答案 1 :(得分:0)

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

Query parameters for List

您正在使用get方法。

Documentation - Get method

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

因此,名为optionalArgs的对象文字,你不需要你正在做的事情。 optionalArgs是一个对象,因为它具有花括号,并且具有&#34;键/值&#34;对。它是&#34; literal&#34;,因为它输入了代码,而不是用代码构建对象。

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