ClassroomAPI JSON仕様
Google Classroom APIで出力されるJSONの仕様について、概要をお伝えします。Google Classroom APIは、教育に関するさまざまな情報を取得・管理するためのAPIを提供しており、リソースに応じたJSONフォーマットでの出力が行われます。以下は主要なリソースとそれぞれのJSON構造の一部です。
Courses: コース情報を表すリソースで、主なフィールドは以下の通りです。
{
"id": "courseId",
"name": "Course Name",
"section": "Section Info",
"descriptionHeading": "Description Heading",
"description": "Detailed Description",
"room": "Room Information",
"ownerId": "Owner's User ID",
"creationTime": "ISO Timestamp",
"updateTime": "ISO Timestamp",
...
}
CourseWork: コースに関連する課題情報を表すリソースで、主なフィールドは以下の通りです。
{
"id": "courseWorkId",
"title": "Assignment Title",
"description": "Assignment Description",
"materials": [
{
"link": {
"url": "Link URL"
},
"driveFile": {
"id": "Drive File ID"
}
}
],
"dueDate": {
"year": 2023,
"month": 5,
"day": 15
},
"dueTime": {
"hours": 23,
"minutes": 59
},
"creationTime": "ISO Timestamp",
"updateTime": "ISO Timestamp",
...
}
Students: コースに参加している生徒情報を表すリソースで、主なフィールドは以下の通りです。
{
"userId": "Student's User ID",
"profile": {
"name": {
"givenName": "First Name",
"familyName": "Last Name",
"fullName": "Full Name"
},
"emailAddress": "Student's Email"
},
"courseId": "Associated Course ID",
...
}
Teachers: コースに参加している教師情報を表すリソースで、主なフィールドは以下の通りです。
{
"userId": "Teacher's User ID",
"profile": {
"name": {
"givenName": "First Name",
"familyName": "Last Name",
"fullName": "Full Name"
},
"emailAddress": "Teacher's Email"
},
"courseId": "Associated Course ID",
...
}
Submissions: 生徒が提出した課題の提出情報を表すリソースで、主なフィールドは以下の通りです。
{
"id": "Submission ID",
"courseId": "Associated Course ID",
"courseWorkId": "Associated CourseWork ID",
"userId": "Student's User ID",
"state": "SUBMITTED / RETURNED / RECLAIMED_BY_STUDENT",
"late": false,
"assignedGrade": 95.0,
...
}