デベロッパーは Google Classroom API を使用して、Google Classroom のコースワークを操作できます。このように API を使用するアプリケーションは、CourseWork
統合と呼ばれます。
この統合パスは、Classroom 外のリソースへのリンクを含む課題の作成と採点によく使用されます。 Classroom の共有ボタンよりも、コースワークの管理に対するデベロッパーのアクセス権が強化されています。
仕組み
CourseWork
統合の主な機能は、Classroom API を使用した課題、お知らせ、教材の作成と管理です。
CourseWork
統合によって実現される一般的なユーザー ジャーニーの例として、教師がウェブサイトまたはアプリケーション内からコンテンツを見つけ、割り当て、採点できるようにすることがあります。
- 教師ユーザーがウェブサイトにログインします。
- 教師は、クラスで共有したいコンテンツを見つけるか、作成します。教師がウェブサイトのボタンをクリックして、このコンテンツを Google Classroom に送信します。
- アプリケーションが
courses.courseWork.create
にリクエストを発行します。リクエストの本文には、次の項目を含むCourseWork
オブジェクトが含まれます。- 移行先のコース ID。
- 課題のタイトル。
- 課題のテキストによる説明。
- 教師が選択したコンテンツの URL を含む
link
Material
。 - 選択したコンテンツで達成可能な最大スコア(省略可)。
- 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 を使用して課題の提出状況の確認、変更、採点を行うことはできません。