Google Classroom API

Google Classroom でクラス、名簿、招待状を管理できます。

サービス: classroom.googleapis.com

このサービスを呼び出すには、Google が提供するクライアント ライブラリを使用することをおすすめします。アプリケーションで独自のライブラリを使用してこのサービスを呼び出す必要がある場合は、API リクエストの際に次の情報を使用してください。

ディスカバリ ドキュメント

ディスカバリ ドキュメントは、REST API を記述して使用するための機械可読仕様です。クライアント ライブラリ、IDE プラグイン、Google API と連携するその他のツールのビルドに使用されます。1 つのサービスで複数のディスカバリ ドキュメントを提供できます。このサービスには、次の検索ドキュメントが用意されています。

サービス エンドポイント

サービス エンドポイントは、API サービスのネットワーク アドレスを指定するベース URL です。1 つのサービスに複数のサービス エンドポイントが存在することもあります。このサービスには次のサービス エンドポイントがあり、以下のすべての URI がこのサービス エンドポイントに関連しています。

  • https://classroom.googleapis.com

REST リソース: v1.courses

メソッド
checkAddOnCreationEligibility GET /v1/courses/{courseId}:checkAddOnCreationEligibility
ユーザーが特定のコースでアドオン添付ファイルを作成する資格があるかどうかを返します。
checkGradingPeriodsSetupEligibility GET /v1/courses/{courseId}:checkGradingPeriodsSetupEligibility
ユーザーが特定のコースで GradingPeriodSettings の更新の資格があるかどうかを返します。
create POST /v1/courses
コースを作成します。
delete DELETE /v1/courses/{id}
コースを削除します。
get GET /v1/courses/{id}
コースを返します。
getGradingPeriodSettings GET /v1/courses/{courseId}/gradingPeriodSettings
コースの採点期間の設定を返します。
list GET /v1/courses
リクエストに一致するコースに限定して、リクエスト元のユーザーに閲覧が許可されているコースのリストを返します。
patch PATCH /v1/courses/{id}
コース内の 1 つ以上のフィールドを更新します。
update PUT /v1/courses/{id}
コースを更新します。
updateGradingPeriodSettings PATCH /v1/courses/{courseId}/gradingPeriodSettings
コースの採点期間の設定を更新します。

REST リソース: v1.courses.aliases

メソッド
create POST /v1/courses/{courseId}/aliases
コースのエイリアスを作成します。
delete DELETE /v1/courses/{courseId}/aliases/{alias}
コースのエイリアスを削除します。
list GET /v1/courses/{courseId}/aliases
コースのエイリアスのリストを返します。

REST リソース: v1.courses.announcements

メソッド
create POST /v1/courses/{courseId}/announcements
お知らせを作成します。
delete DELETE /v1/courses/{courseId}/announcements/{id}
お知らせを削除します。
get GET /v1/courses/{courseId}/announcements/{id}
お知らせを返します。
getAddOnContext GET /v1/courses/{courseId}/announcements/{itemId}/addOnContext
特定の投稿のコンテキストで Classroom アドオンのメタデータを取得します。
list GET /v1/courses/{courseId}/announcements
リクエスト元に閲覧が許可されているお知らせのリストを返します。
modifyAssignees POST /v1/courses/{courseId}/announcements/{id}:modifyAssignees
通知の割り当て先モードとオプションを変更します。
patch PATCH /v1/courses/{courseId}/announcements/{id}
お知らせの 1 つ以上のフィールドを更新します。

REST リソース: v1.courses.announcements.addOnAttachments

メソッド
create POST /v1/courses/{courseId}/announcements/{itemId}/addOnAttachments
投稿の下にアドオンの添付ファイルを作成します。
delete DELETE /v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId}
アドオンの添付ファイルを削除します。
get GET /v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId}
アドオンの添付ファイルを返します。
list GET /v1/courses/{courseId}/announcements/{itemId}/addOnAttachments
投稿の下のアドオンによって作成されたすべての添付ファイルを返します。
patch PATCH /v1/courses/{courseId}/announcements/{itemId}/addOnAttachments/{attachmentId}
アドオンの添付ファイルを更新します。

REST リソース: v1.courses.courseWork

メソッド
create POST /v1/courses/{courseId}/courseWork
コースの課題を作成します。
delete DELETE /v1/courses/{courseId}/courseWork/{id}
コースの課題を削除します。
get GET /v1/courses/{courseId}/courseWork/{id}
コースの課題を返します。
getAddOnContext GET /v1/courses/{courseId}/courseWork/{itemId}/addOnContext
特定の投稿のコンテキストで Classroom アドオンのメタデータを取得します。
list GET /v1/courses/{courseId}/courseWork
リクエスト元に閲覧が許可されているコース課題のリストを返します。
modifyAssignees POST /v1/courses/{courseId}/courseWork/{id}:modifyAssignees
課題の割り当て者モードとオプションを変更します。
patch PATCH /v1/courses/{courseId}/courseWork/{id}
コースの課題の 1 つ以上のフィールドを更新します。

REST リソース: v1.courses.courseWork.addOnAttachments

メソッド
create POST /v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments
投稿の下にアドオンの添付ファイルを作成します。
delete DELETE /v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}
アドオンの添付ファイルを削除します。
get GET /v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}
アドオンの添付ファイルを返します。
list GET /v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments
投稿の下のアドオンによって作成されたすべての添付ファイルを返します。
patch PATCH /v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}
アドオンの添付ファイルを更新します。

REST リソース: v1.courses.courseWork.addOnAttachments.studentSubmissions

メソッド
get GET /v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}
アドオン添付ファイルに対する生徒の提出物を返します。
patch PATCH /v1/courses/{courseId}/courseWork/{itemId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}
アドオンの添付ファイルの送信に関連付けられたデータを更新します。

REST リソース: v1.courses.courseWork.rubrics

メソッド
create POST /v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics
ルーブリックを作成します。
delete DELETE /v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics/{id}
ルーブリックを削除します。
get GET /v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics/{id}
ルーブリックを返します。
list GET /v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics
リクエスト元に閲覧が許可されているルーブリックのリストを返します。
patch PATCH /v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics/{id}
ルーブリックを更新します。

REST リソース: v1.courses.courseWork.studentSubmissions

メソッド
get GET /v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}
生徒の提出物を返します。
list GET /v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions
リクエストの OAuth スコープを考慮して、リクエスト元に閲覧が許可されている生徒の提出物のリストを返します。
modifyAttachments POST /v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:modifyAttachments
生徒の提出物の添付ファイルを変更します。
patch PATCH /v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}
生徒の提出物の 1 つ以上のフィールドを更新します。
reclaim POST /v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:reclaim
オーナーに代わって生徒の提出物を回収します。
return POST /v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:return
生徒の提出物を返します。
turnIn POST /v1/courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:turnIn
生徒の提出物を提出します。

REST リソース: v1.courses.courseWorkMaterials

メソッド
create POST /v1/courses/{courseId}/courseWorkMaterials
コースの教材を作成します。
delete DELETE /v1/courses/{courseId}/courseWorkMaterials/{id}
コースの教材を削除します。
get GET /v1/courses/{courseId}/courseWorkMaterials/{id}
コースの教材を返します。
getAddOnContext GET /v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnContext
特定の投稿のコンテキストで Classroom アドオンのメタデータを取得します。
list GET /v1/courses/{courseId}/courseWorkMaterials
リクエスト元に閲覧が許可されているコースの教材のリストを返します。
patch PATCH /v1/courses/{courseId}/courseWorkMaterials/{id}
コースの教材の 1 つ以上のフィールドを更新します。

REST リソース: v1.courses.courseWorkMaterials.addOnAttachments

メソッド
create POST /v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments
投稿の下にアドオンの添付ファイルを作成します。
delete DELETE /v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId}
アドオンの添付ファイルを削除します。
get GET /v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId}
アドオンの添付ファイルを返します。
list GET /v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments
投稿の下のアドオンによって作成されたすべての添付ファイルを返します。
patch PATCH /v1/courses/{courseId}/courseWorkMaterials/{itemId}/addOnAttachments/{attachmentId}
アドオンの添付ファイルを更新します。

REST リソース: v1.courses.posts

メソッド
getAddOnContext GET /v1/courses/{courseId}/posts/{postId}/addOnContext
特定の投稿のコンテキストで Classroom アドオンのメタデータを取得します。

REST リソース: v1.courses.posts.addOnAttachments

メソッド
create POST /v1/courses/{courseId}/posts/{postId}/addOnAttachments
投稿の下にアドオンの添付ファイルを作成します。
delete DELETE /v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}
アドオンの添付ファイルを削除します。
get GET /v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}
アドオンの添付ファイルを返します。
list GET /v1/courses/{courseId}/posts/{postId}/addOnAttachments
投稿の下のアドオンによって作成されたすべての添付ファイルを返します。
patch PATCH /v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}
アドオンの添付ファイルを更新します。

REST リソース: v1.courses.posts.addOnAttachments.studentSubmissions

メソッド
get GET /v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}
アドオン添付ファイルに対する生徒の提出物を返します。
patch PATCH /v1/courses/{courseId}/posts/{postId}/addOnAttachments/{attachmentId}/studentSubmissions/{submissionId}
アドオンの添付ファイルの送信に関連付けられたデータを更新します。

REST リソース: v1.courses.students

メソッド
create POST /v1/courses/{courseId}/students
ユーザーをコースの生徒として追加します。
delete DELETE /v1/courses/{courseId}/students/{userId}
コースの生徒を削除します。
get GET /v1/courses/{courseId}/students/{userId}
コースの生徒を返します。
list GET /v1/courses/{courseId}/students
リクエスト元に閲覧が許可されているこのコースの受講者のリストを返します。

REST リソース: v1.courses.teachers

メソッド
create POST /v1/courses/{courseId}/teachers
コースの教師を作成します。
delete DELETE /v1/courses/{courseId}/teachers/{userId}
指定した教師を指定のコースから削除します。
get GET /v1/courses/{courseId}/teachers/{userId}
コースの教師を返します。
list GET /v1/courses/{courseId}/teachers
リクエスト元に閲覧が許可されているこのコースの教師のリストを返します。

REST リソース: v1.courses.topics

メソッド
create POST /v1/courses/{courseId}/topics
トピックを作成します。
delete DELETE /v1/courses/{courseId}/topics/{id}
トピックを削除します。
get GET /v1/courses/{courseId}/topics/{id}
トピックを返します。
list GET /v1/courses/{courseId}/topics
リクエスト元に閲覧が許可されているトピックのリストを返します。
patch PATCH /v1/courses/{courseId}/topics/{id}
トピックの 1 つ以上のフィールドを更新します。

REST リソース: v1.invitations

メソッド
accept POST /v1/invitations/{id}:accept
招待を承諾して削除し、招待したユーザーを(必要に応じて)指定したコースの教師または生徒に追加します。
create POST /v1/invitations
招待状を作成します。
delete DELETE /v1/invitations/{id}
招待を削除します。
get GET /v1/invitations/{id}
招待を返します。
list GET /v1/invitations
リクエスト元のユーザーに表示が許可されている招待のリストを返します。このリストは、リクエストされた招待に一致するものに限られます。

REST リソース: v1.registrations

メソッド
create POST /v1/registrations
Registration を作成します。これにより、Classroom は指定された feed から cloudPubSubTopic で指定された宛先へ通知の送信を開始します。
delete DELETE /v1/registrations/{registrationId}
Registration を削除し、Classroom はその Registration の通知の送信を停止します。

REST リソース: v1.userProfiles

メソッド
get GET /v1/userProfiles/{userId}
ユーザー プロフィールを返します。

REST リソース: v1.userProfiles.guardianInvitations

メソッド
create POST /v1/userProfiles/{guardianInvitation.studentId}/guardianInvitations
保護者宛ての招待状を作成し、生徒の保護者であることを確認するためのメールを保護者に送信します。
get GET /v1/userProfiles/{studentId}/guardianInvitations/{invitationId}
特定の保護者宛ての招待状を返します。
list GET /v1/userProfiles/{studentId}/guardianInvitations
リクエスト元のユーザーに表示が許可されている保護者の招待のリストを、指定されたパラメータでフィルタして返します。
patch PATCH /v1/userProfiles/{studentId}/guardianInvitations/{invitationId}
保護者の招待を変更します。

REST リソース: v1.userProfiles.guardians

メソッド
delete DELETE /v1/userProfiles/{studentId}/guardians/{guardianId}
保護者を削除します。
get GET /v1/userProfiles/{studentId}/guardians/{guardianId}
特定の保護者を返します。
list GET /v1/userProfiles/{studentId}/guardians
リクエスト元のユーザーに表示が許可されている保護者のリストを返します。このリストは、リクエストに一致する保護者に限定されます。