从“课堂”创建学生花名册
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
.
您正在使用 get
方法。
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');
}
}
我正在尝试从 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
.
您正在使用 get
方法。
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');
}
}