概要

Classroom API は、Google Classroom でコースと名簿を管理するための RESTful インターフェースを提供します。また、デベロッパーやコンテンツ所有者は、 Classroom の共有ボタンを使用して、Classroom とのコンテンツ共有を有効にできます。

API を使用できるユーザー

Google Workspace for Education ドメイン管理者は、この API を使用して、教師に代わってプログラムによってコースをプロビジョニングし、生徒情報システムを Classroom と同期して、ドメインで教えられているクラスの基本的な可視性を得ることができます。

アプリケーション デベロッパーは Classroom API を使用して、アプリを Classroom と統合できます。これらのアプリは、OAuth 2.0 を使用して、教師のクラスと名簿を表示する権限をリクエストする必要があります。ドメイン内の教師と生徒が Google Classroom データへのアクセスをアプリに承認できるかどうかを制限できます

ウェブサイトの所有者とコンテンツ デベロッパーは、Classroom の共有ボタンを使用して、生徒と教師がコンテンツを Classroom に再び共有できるようになります。

API と Classroom の共有ボタンの統合はすべて、Classroom ブランド ガイドラインに準拠している必要があります。

API の概要

Classroom API は、Classroom インターフェース内のクラス、教師、生徒に対応する複数のエンティティ タイプで構成されています。これらのエンティティの中には、Classroom にあるものに加えて、API に固有の追加プロパティを持つものもあります。主要なエンティティ タイプは次のとおりです。

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

コースのメタデータとエイリアス

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

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

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

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

コースの名簿とユーザー

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

学生

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

学習します。生徒はコースの詳細と教師を閲覧できます

教師

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

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

招待とそれに関連する方法を使用すると、生徒と教師をコースに簡単に追加できます。招待状を作成することで、ユーザーはコースに参加するかどうかを選択できます。教師や生徒のリソースから直接追加する必要はありません。

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

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

コースワークと生徒の提出物

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

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

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

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

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

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

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

Classroom アドオン

アドオンは、パートナーが提供する UI とバックエンドで、通常は iframe に表示されます。アドオンは、投稿AnnouncementsCourseWorkCourseWorkMaterials)の添付ファイルとして表示されます。

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

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

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

クイックスタート

環境を設定して API をすぐに使用するには、次のいずれかのクイックスタートをお試しください。

Google APIs Explorer を試す

ライブデータで呼び出しメソッドをテストするには、Google APIs Explorer を使用してください。開始するためにコードを記述する必要はありませんが、API Explorer を使用して実行するアクションによって既存のデータが変更される可能性があるので注意してください。

メソッドの呼び出しを開始する方法の一つは、courses.list() メソッドを呼び出すことです。このメソッドにリクエスト パラメータは必要ありません。返されたコースのリストから id を取得して、他の API 呼び出しのリクエスト パラメータとして使用できます。コースがない場合は、courses.create() メソッドを使用して作成できます。

また、API リファレンスもご覧ください。