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,

  ...

}