このガイドでは、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 ドメイン管理者がユーザーを直接追加することもできます。 - 教師はストリーミング アイテムを作成して、コース内の生徒と共有します。ストリーム アイテムの種類は、課題、課題資料、お知らせです。
CourseWork
とCourseWorkMaterials
は、トピックに視覚的に整理でき、AddOnAttachments を含めることができます。生徒はCourseWork
の StudentSubmissions を提出します。 - デベロッパーは登録を作成して、このデータの一部が変更されたときに通知を受け取ることができます。
Google Classroom は、Google Workspace for Education を定期購入しているドメインで利用できます。Classroom のコンテキストでのドメインは、通常、学区を表します。開発目的で Google Workspace for Education のテストドメインを作成すると、実際のユーザーに影響を与えることなく、Classroom の本番環境インスタンスを管理できます。
コースとエイリアス
Courses
はクラスを表します(「M. Smith の 4 時間目の数学」と、割り当てられた教師、生徒名簿、メタデータが含まれます。各コースは、サーバーが割り当てた一意の ID で識別されます。Course
リソースは、コースに関するすべてのメタデータ(名前、説明、場所、時間など)をカプセル化します。コース名簿は、生徒、教師、招待のリソースとそのメソッドで管理されます。
Aliases
は、コースに関連付けられ、一意の ID の代わりに使用されるクラスの代替識別子です。各エイリアスは、エイリアスの作成と表示を制限する Namespace 内に存在します。次の 2 つの Namespace がサポートされています。
- ドメイン: ドメイン名前空間は、すべてのユーザーがアクセスする必要があり、特定のプログラムに固有ではないエイリアスを作成する場合に便利です。たとえば、MATH 127 や COMSCI 127 など、コースの代替リスティングはドメイン Namespace で作成する必要があります。ドメイン Namespace 内のエイリアスは、ドメイン管理者のみ作成できますが、ドメイン内のすべてのユーザーに表示されます。
- デベロッパー プロジェクト: デベロッパー プロジェクト名前空間は、アプリケーション固有のエイリアスを管理する場合に便利です。たとえば、コースに代替 ID を使用するアプリは、エイリアスを作成して、その ID を Classroom コースにマッピングできます。この Namespace で作成されたエイリアスは、特定の Google API Console に関連付けられます。アプリケーションのすべてのユーザーは、そのアプリケーションのデベロッパー プロジェクトの Namespace でエイリアスを作成して表示できます。
コースのメタデータとエイリアスの管理の詳細については、コースを管理するをご覧ください。
コースの登録名簿とユーザー
Students
と Teachers
は、ユーザー プロフィールとコース間の特定のマッピングであり、コースにおけるユーザーのロールを表します。生徒と教師の指定はグローバルではありません。あるユーザーをあるコースでは教師として、別のコースでは生徒として割り当てることができます。「生徒」または「教師」という指定は、特定のコース内の特定のユーザーに対する一連の権限を表します。コースには複数の教師が含まれる場合や、生徒がゼロの場合もあります。教師と生徒は、いつでもコースに追加または削除できます。
- 学生
Student
リソースは、特定のコースの生徒として登録されているユーザーを表します。生徒は、コースの詳細とそのコースの教師を表示できます。
- 教師
Teacher
リソースは、特定のコースを指定するユーザーを表します。教師は、コースの詳細の表示と変更、教師と生徒の表示、追加の教師と生徒の管理を行うことができます。
Invitations
と関連するメソッドを使用すると、生徒と教師をコースに簡単に追加できます。招待状を作成すると、教師と生徒のリソースから直接追加するのではなく、ユーザーがコースに参加するかどうかを選択できます。
UserProfiles
は、Directory API から返されたユーザーの一意の ID またはメールアドレスで識別されるユーザーのドメイン プロファイルへのマッピングを表します。現在のユーザーは、"me"
の省略形を使用して自分の ID を参照することもできます。
UserProfiles
サービスは、生徒と保護者間のマッピングである Guardians
の管理と招待にも使用できます。Classroom の保護者は、課題などの一部の生徒情報にアクセスできます。
名簿の管理の詳細については、教師と生徒を管理するをご覧ください。
アイテムをストリーミングする
ストリーム アイテムは、コースのメンバーと共有される投稿されたコンテンツの一部です。デベロッパーと教師は、Announcement
、CourseWork
、CourseWorkMaterial
の 3 種類のストリーミング アイテムを作成できます。
教師は、Classroom UI の [ストリーム] ページの上部にある Announcements
を作成します。教師は、[Classwork] タブの [作成] ボタンをクリックして、CourseWork
と CourseWorkMaterials
を作成します。デベロッパーは、Classroom API を使用して、すべてのストリーム アイテム タイプをプログラムで作成できます。
ストリーム アイテムには次のことが当てはまります。
- すべてのストリーミング アイテムには、Google ドライブのファイル、YouTube 動画、Google フォーム、URL ハイパーリンク、Classroom アドオンの添付ファイルなどの補足資料を含めることができます。
- ストリームのすべてのアイテムを、コース内の生徒のサブセットに割り当てることができます。
CourseWork
は採点ありまたは採点なしにできます。教師はCourseWork
課題の採点ステータスをいつでも変更できます。- ストリーム アイテムには複数のアタッチメントを含めることができます。
- ストリーム アイテムには、さまざまなタイプのアタッチメントを含めることができます。たとえば、1 つの
CourseWork
課題に Google ドライブのファイル、YouTube 動画、Classroom アドオンの添付ファイルを同時に含めることができます。 - 1 つのストリーム アイテムに、複数のデベロッパーのアドオン アタッチメントが含まれている場合があります。
- デベロッパーは、アドオンの添付ファイルのいずれかがあるストリーム アイテム リソースの詳細を取得して変更できます。
- デベロッパーは、アドオンの添付ファイルが含まれている
CourseWork
課題の生徒の提出物を提出、再利用、返却できます。 - デベロッパーは、作成した課題内の生徒の個々の提出物の成績のみを確定できます。
コピーされたストリーム アイテム
教師は、コースのコピー、課題の再利用、ストリーム アイテムの複数のコースへの公開によって、ストリーム アイテムをコピーできます。新しいコピーにはそれぞれ固有の ID が割り当てられます。これは、Classroom アドオンを開発する場合に重要な考慮事項となります。アドオンでこれらのシナリオを処理する方法については、コピーされたコンテンツに関するガイドをご覧ください。
CourseWork と StudentSubmissions
CourseWork
アイテムは、コース内の生徒のグループに対する課題を表します。生徒の提出物を受け取ることができる唯一のストリーム アイテム タイプです。CourseWork
リソースには、説明、期限、最高評価、作成時間などのメタデータが含まれます。
各 CourseWork
リソースは、次のいずれかのタイプのタスクを表します。
- 生徒がワークシートなどの添付ファイルを送信して完了する課題。
- 記述式の質問または多肢選択式の質問。
CourseWork
アイテムの生徒の提出物は StudentSubmission
で表されます。レスポンスと、状態や割り当てられたグレードなどの追加のメタデータで構成されます。
StudentSubmission
の内容は、対応する CourseWork
アイテムのタイプに応じて異なり、次のものを含めることができます。
- 課題に提出されたワークシートと添付ファイル(タイトル、サムネイル、URL など)と、ドライブや YouTube などの適切な API で使用できる ID。
- 記述式の質問または多肢選択式の質問に対する回答。
課題と生徒の提出物の管理の詳細については、課題を管理するをご覧ください。
CourseWork の資料とお知らせ
CourseWork
と同様に、CourseWorkMaterials
はコース内の生徒のグループに割り当てられたコンテンツを表します。各リソースには、タイトルや説明などの詳細と補足資料が含まれています。ただし、CourseWork
とは異なり、CourseWorkMaterials
では生徒がアーティファクトを送信する必要はありません。そのため、期限はなく、CourseWorkMaterials
に StudentSubmissions
は存在しません。教師は CourseWorkMaterials
を使用して、推奨される読み物、シラバス、教室の規則を投稿できます。
Announcements
も生徒のグループと共有されるコンテンツを表しますが、タイトルなどの詳細はなく、CourseWork
や CourseWorkMaterials
のように Topics
で整理することはできません。教師は、リマインダーやお知らせをクラスに伝えるために使用できます。
トピック
Topics
は、クラス内の CourseWork
と CourseWorkMaterials
を視覚的に整理するために使用されます。たとえば、課題を「任意」と「必須」、または「ユニット 1」と「ユニット 2」にグループ化するために使用できます。
Classroom アドオン
アドオンは、通常 iframe に表示される、デベロッパーが提供する UI とバックエンドです。アドオンは、ストリーム アイテムの添付ファイルとして表示されます。ストリーム アイテムは、Announcements
、CourseWork
、CourseWorkMaterials
のいずれかです。アドオンの添付ファイルは AddOnAttachment
で表されます。
アドオンの添付ファイルは、アクティビティまたはコンテンツです。
- アクティビティの添付ファイルでは、生徒が個々の提出物を完成させて提出する必要があります。クイズ、絵画、ゲームなどがこれに該当します。アクティビティの提出は、必要に応じて採点できます。
- コンテンツの添付には、生徒からの提出は必要ありません。生徒は添付ファイルを提出する必要はなく、採点もされません。例: 写真、記事、動画。
詳しくは、アドオン開発ガイドをご覧ください。
登録
アプリは、Google Classroom で特定のデータが変更されたときに通知をサブスクライブできます。たとえば、コースの登録者が更新された場合です。Registrations
は、これらの通知をアプリに送信する命令を表します。
詳しくは、プッシュ通知ガイドをご覧ください。