デベロッパーは Google Classroom API を使用して、Google Classroom の課題を操作できます。このように API を使用するアプリケーションは、CourseWork 統合と呼ばれます。
この統合パスは、Classroom 外のリソースへのリンクを含む課題を作成して採点する場合によく使用されます。 Classroom の共有ボタンと比較して、課題の管理に対するデベロッパーのアクセス権が強化されます。
仕組み
CourseWork 統合のコア機能は、Classroom API を使用した課題、お知らせ、教材の作成と管理です。
CourseWork 統合によって実現する一般的なユーザー ジャーニーの例として、教師がウェブサイトまたはアプリケーション内からコンテンツを見つけて割り当て、採点できるようにすることが挙げられます。
- 教師ユーザーがウェブサイトにログインします。
- 教師は、クラスで共有するコンテンツを見つけるか作成します。教師はウェブサイトのボタンをクリックして、このコンテンツを Google Classroom に送信します。
- アプリケーションは
courses.courseWork.createにリクエストを発行します。リクエストの本文には、次の情報を含むCourseWorkオブジェクトが含まれます。- 宛先コース ID。
- 課題のタイトル。
- 課題の説明テキスト。
- 教師が選択したコンテンツの URL を含む
linkMaterial。 - (省略可)選択したコンテンツで獲得できる最大スコア。
- 新しい課題が Classroom にリンクの添付ファイルとともに表示されます。
リンクは、
createリクエストで指定された URL を参照します。例については、図 1 をご覧ください。 - 課題の新しい列が Classroom の採点簿にも表示されます。最大スコアが指定されている場合は、そのスコアも表示されます。
- 生徒は課題を受け取り、
link Materialをクリックして、提供された URL を新しいタブで開き、ウェブサイトでコンテンツを表示または完了します。 必要に応じて、生徒が課題を提出するためのコントロールを提供します。 - 必要に応じて、
courses.courseWork.studentSubmissions.modifyAttachmentsにリクエストを発行して、生徒の提出物に 添付ファイル(Google ドライブ ファイルや、ウェブサイト上の生徒の作業を指すlink Materialなど)を追加します。 - 必要に応じて、
courses.courseWork.studentSubmissions.patchにリクエストを発行して、課題の生徒の成績 を設定します。

図 1.CourseWork 統合によって作成された link Material を使用して課題を編集する際の教師のビュー。
または、courses.announcements.create または
courses.courseWorkMaterials.create を呼び出して、課題ではなくお知らせや教材を作成することもできます。関連する Classroom API アクションの詳細については、課題を作成して管理するページと成績を
設定して更新するページをご覧ください。
考慮事項
CourseWork 統合がプロダクトのニーズに適しているかどうかを判断する際は、次の点に注意してください。
- ユーザーを承認し、同意を求める必要があります。API リクエストはユーザーに代わって行われます。 つまり、任意の Google Classroom コースで課題を作成することはできません。承認されたユーザーが担当するコースでのみ課題を作成できます。
- ユーザーがコンテンツを受信するコースを選択する方法が必要です。
courses.listを使用して、ユーザーが担当するコースのリストを取得し、ユーザーがリストから 1 つ以上のコースを選択できるようにすることをご検討ください。 - ユーザーが Classroom で
link Materialをクリックすると、リンクが新しいタブで開きます。URL が開いても、サーバーは Classroom から情報を受け取りません。 - 教師は、デベロッパーとは無関係に課題を変更または削除できます。つまり、デベロッパーの課題に関する知識が古くなる可能性があります。課題の変更を把握する必要がある場合は、 課題の変更に関するプッシュ通知を設定することをご検討ください。
- 教師は、ウェブサイトの URL へのリンクを貼り付けて、Classroom UI で課題を作成できます。この方法で作成された課題は教師のみが所有するため、Classroom API を使用して提出物の表示、変更、成績の設定を行うことはできません。