ユーザーが Classroom と Google Meet を使用している場合は、Google Meet コースの生徒の出席状況を確認する Apps Script クイックスタートをご覧ください。

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

Methods
create POST /v1/courses
コースを作成します。
delete DELETE /v1/courses/{id}
コースを削除します。
get GET /v1/courses/{id}
コースを返します。
list GET /v1/courses
リクエスト元ユーザーが表示が許可されているコースのリストを返します。リクエストに含まれるコースには制限されます。
patch PATCH /v1/courses/{id}
コース内の 1 つ以上のフィールドを更新します。
update PUT /v1/courses/{id}
コースを更新します。

REST リソース: v1.courses.aliases

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

REST リソース: v1.courses.announcements

Methods
create POST /v1/courses/{courseId}/announcements
お知らせを作成します。
delete DELETE /v1/courses/{courseId}/announcements/{id}
お知らせを削除します。
get GET /v1/courses/{courseId}/announcements/{id}
お知らせを返します。
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.courseWork

Methods
create POST /v1/courses/{courseId}/courseWork
コースの課題を作成します。
delete DELETE /v1/courses/{courseId}/courseWork/{id}
コースの課題を削除します。
get GET /v1/courses/{courseId}/courseWork/{id}
コースの課題を返します。
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.studentSubmissions

Methods
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

Methods
create POST /v1/courses/{courseId}/courseWorkMaterials
コースの資料を作成します。
delete DELETE /v1/courses/{courseId}/courseWorkMaterials/{id}
コースの教材を削除します。
get GET /v1/courses/{courseId}/courseWorkMaterials/{id}
コースの教材を返します。
list GET /v1/courses/{courseId}/courseWorkMaterials
リクエスト元が表示可能なコース課題の資料のリストが返されます。
patch PATCH /v1/courses/{courseId}/courseWorkMaterials/{id}
コースの教材の 1 つ以上のフィールドを更新します。

REST リソース: v1.courses.students

Methods
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

Methods
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

Methods
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

Methods
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

Methods
create POST /v1/registrations
Registration を作成し、指定された feed から cloudPubSubTopic で指定された宛先への通知送信を開始します。
delete DELETE /v1/registrations/{registrationId}
Registration を削除すると、その Registration に関する通知は Classroom から送信されなくなります。

REST リソース: v1.userProfiles

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

REST リソース: v1.userProfiles.guardianInvitations

Methods
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

Methods
delete DELETE /v1/userProfiles/{studentId}/guardians/{guardianId}
保護者を削除します。
get GET /v1/userProfiles/{studentId}/guardians/{guardianId}
特定の保護者を返します。
list GET /v1/userProfiles/{studentId}/guardians
リクエスト元のユーザーが閲覧可能な保護者のリストを返します。このリストは、リクエストに一致する保護者に限定されます。