API の構造

このガイドでは、Google Classroom API を構成する主要コンポーネントの概要を説明します。Google Classroom API は、リソースとサービスで構成されています。リソースは、Google Classroom 内のエンティティ(コースや課題など)を表します。サービスはこれらのリソースを取得して管理します。これらのエンティティの一部には、Classroom に存在するものに加えて、API に固有のプロパティがあります。主なエンティティ タイプは次のとおりです。

エンティティ Classroom での表現
コース クラス(「M. Smith の 4 時間目数学」のようにします。
エイリアス コースの代替 ID。
招待 クラスにユーザーを追加する手段。
学生 クラスの生徒。
教育関係者 クラスの教師。
ユーザー プロフィール 生徒や教師の文脈から外れた、より一般的なユーザー。
CourseWork クラスの課題。
StudentSubmissions 生徒が特定の課題(解答やワークシートなど)に対して行った作業。
CourseWorkMaterials クラスの生徒向けの教材。
お知らせ クラスの生徒へのお知らせ。
AddOnAttachment 通常は埋め込み iframe として表示される、課題や教材のコンテンツまたはアクティビティ。
トピック クラス内の課題と資料を視覚的にグループ化したもの。
登録 クラス名簿などのデータの変更に関する通知をアプリに送信する手順。

ほとんどのリソースには、リソースのインスタンスの読み取り、更新、削除などの標準オペレーション用のサービス メソッドがあります。一部のリソースには、特定の課題に割り当てられた生徒のリストを変更するなど、他のオペレーション用のカスタム メソッドもあります。

API リソースとメソッドの詳細については、 Classroom API リファレンスをご覧ください。

リソースの関係の概要

  • コースは、Google Classroom の基盤となるデータ オブジェクトです。
  • エイリアスは、Courses の代替識別子として使用されます。
  • 招待状は、ユーザー プロフィールCourse教師または生徒に招待するときに使用しますが、Google Workspace for Education ドメイン管理者がユーザーを直接追加することもできます。
  • 教師はストリーミング アイテムを作成して、コース内の生徒と共有します。ストリーム アイテムの種類は、課題課題資料お知らせです。CourseWorkCourseWorkMaterials は、トピックに視覚的に整理でき、AddOnAttachments を含めることができます。生徒は CourseWorkStudentSubmissions を提出します。
  • デベロッパーは、登録を作成して、このデータの一部が変更されたときに通知を受け取ることができます。

Google Classroom は、Google Workspace for Education を定期購入しているドメインで利用できます。Classroom のコンテキストにおけるドメインは、通常、学区を表します。開発目的で Google Workspace for Education のテストドメインを作成すると、実際のユーザーに影響を与えることなく、Classroom の本番環境インスタンスを制御できます。

コースとエイリアス

Courses はクラスを表します(「M. Smith の 4 時間目の数学」と、割り当てられた教師、生徒名簿、メタデータが含まれます。各コースは、サーバーによって割り当てられた一意の ID で識別されます。Course リソースは、具体的にコースに関するすべてのメタデータ(名前、説明、場所、時間など)をカプセル化します。コース名簿は、生徒教師招待のリソースとそのメソッドで管理されます。

Aliases は、コースに関連付けられ、一意の ID の代わりに使用されるクラスの代替識別子です。各エイリアスは名前空間に存在し、作成と表示を許可するユーザーを制限します。次の 2 つの名前空間がサポートされています。

  • ドメイン: ドメイン名前空間は、すべてのユーザーがアクセスする必要があり、特定のプログラムに固有ではないエイリアスを作成する場合に便利です。たとえば、MATH 127 や COMSCI 127 など、コースの代替リスティングはドメイン Namespace に作成する必要があります。ドメイン Namespace 内のエイリアスは、ドメイン管理者のみが作成できますが、ドメイン内のすべてのユーザーに表示されます。
  • デベロッパー プロジェクト: デベロッパー プロジェクト名前空間は、アプリケーション固有のエイリアスの管理に役立ちます。たとえば、コースに代替 ID を使用するアプリは、エイリアスを作成して、その ID を Classroom コースにマッピングできます。この Namespace で作成されたエイリアスは、特定の Google API Console に関連付けられます。アプリケーションのすべてのユーザーは、そのアプリケーションのデベロッパー プロジェクトの名前空間でエイリアスを作成して表示できます。

コースのメタデータとエイリアスの管理の詳細については、コースを管理するをご覧ください。

コースの登録名簿とユーザー

StudentsTeachers は、ユーザー プロフィールとコース間の特定のマッピングであり、コース内でのユーザーのロールを表します。生徒と教師の指定はグローバルではありません。あるユーザーをあるコースでは教師として、別のコースでは生徒として割り当てることができます。「生徒」または「教師」という指定は、特定のコース内の特定のユーザーに対する一連の権限を表します。

学生

Student リソースは、特定のコースの生徒として登録されているユーザーを表します。

生徒は、コースの詳細とそのコースの教師を表示できます。

教師

Teacher リソースは、特定のコースを教えるユーザーを表します。

教師は、コースの詳細の表示と変更、教師と生徒の表示、追加の教師と生徒の管理を行うことができます。

Invitations とそれに関連するメソッドを使用すると、コースに生徒と教師を簡単に追加できます。招待状を作成すると、教師と生徒のリソースから直接追加するのではなく、ユーザーがコースに参加するかどうかを選択できます。

UserProfiles は、Directory API によって返されたユーザーの一意の ID またはメールアドレスで識別される、ユーザーのドメイン プロフィールへのマッピングを表します。現在のユーザーは、"me" の省略形を使用して自分の ID を参照することもできます。

UserProfiles サービスは、生徒と保護者間のマッピングである Guardians の管理と招待にも使用できます。Classroom の保護者は、課題などの一部の生徒情報にアクセスできます。

名簿の管理の詳細については、教師と生徒を管理するをご覧ください。

課題と生徒の提出物

CourseWork アイテムは、コース内の生徒のグループに割り当てられた 1 つのタスクを表します。説明、期限、資料などの詳細情報と、作成日時などのメタデータが含まれます。マテリアルには、タイトル、サムネイル、URL のほか、適切な API(ドライブ、YouTube など)で使用できる ID が含まれます。

CourseWork アイテムは、次のいずれかのタイプのタスクを表します。

  • 生徒がワークシートなどの添付ファイルを送信して完了する課題。
  • 記述式の質問または多肢選択式の質問。

CourseWork アイテムの生徒の提出物は StudentSubmission で表されます。これは、レスポンスと、状態や割り当てられた成績などの追加のメタデータで構成されます。

StudentSubmission の内容は、対応する CourseWork アイテムのタイプによって異なります。

  • 課題に提出されたワークシートと添付ファイル(タイトル、サムネイル、URL など)と、ドライブや YouTube などの適切な API で使用できる ID。
  • 記述式の質問または多肢選択式の質問に対する回答。

課題と生徒の提出物の管理の詳細については、課題を管理するをご覧ください。

コースワークの資料とお知らせ

CourseWork と同様に、CourseWorkMaterials はコース内の生徒のグループに割り当てられたコンテンツを表し、タイトル、説明、資料などの詳細が含まれます。ただし、CourseWork とは異なり、CourseWorkMaterials では生徒がアーティファクトを送信する必要はありません。そのため、期限はなく、CourseWorkMaterialsStudentSubmissions は存在しません。教師は CourseWorkMaterials を使用して、推奨される読み物、シラバス、教室の規則などを投稿できます。

Announcements も生徒のグループと共有されるコンテンツを表しますが、タイトルなどの詳細はなく、CourseWorkCourseWorkMaterials のように Topics で整理することはできません。教師はこれを使ってクラスに リマインダーや通知を送ることができます

トピック

Topics は、クラス内の CourseWorkCourseWorkMaterials を視覚的に整理するために使用されます。たとえば、課題を「任意」と「必須」、または「ユニット 1」と「ユニット 2」にグループ化するために使用できます。

Classroom アドオン

アドオンは、通常 iframe に表示される、デベロッパーが提供する UI とバックエンドです。アドオンは、ストリーム アイテムの添付ファイルとして表示されます。ストリーム アイテムは、AnnouncementsCourseWorkCourseWorkMaterials のいずれかです。アドオンの添付ファイルは AddOnAttachment で表されます。

アドオンの添付ファイルは、アクティビティまたはコンテンツです。

  • アクティビティの添付ファイルでは、生徒が個々の提出物を完成させて提出する必要があります。たとえば、クイズ、図形描画、ゲームなどが該当します。提出物アクティビティは、必要に応じて採点できます。
  • コンテンツの添付には、生徒からの提出は必要ありません。生徒は添付ファイルを提出する必要はなく、採点もされません。例: 写真、記事、動画。

詳しくは、アドオン開発ガイドをご覧ください。

登録

アプリは、Google Classroom で特定のデータが変更されたときに通知をサブスクライブできます。たとえば、コースの登録者が更新された場合です。Registrations は、これらの通知をアプリに送信する命令を表します。

詳しくは、プッシュ通知ガイドをご覧ください。