我正试图从谷歌教室名单中提取学生信息。以下是我到目前为止的情况:
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}]
所以现在我的问题是:我如何只提取这些信息的某些部分(如全名和电子邮件)?
最终结果将是推送到谷歌表。
答案 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;
答案 1 :(得分:0)
快速入门示例使用list
方法,list
方法使用可选的查询参数。其中一个是pageSize
。
您正在使用get
方法。
get
方法的唯一选项是Path
。并且只有一个设置id
。
因此,名为optionalArgs
的对象文字,你不需要你正在做的事情。 optionalArgs
是一个对象,因为它具有花括号,并且具有&#34;键/值&#34;对。它是&#34; literal&#34;,因为它输入了代码,而不是用代码构建对象。
如果您进行了搜索,(使用Ctrl + F打开搜索对话框)并搜索optionalArgs
,您会发现它没有在任何地方使用。因此,使用optionalArgs
方法时,不需要具有pageSize
属性的get
对象。