デベロッパーは 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 を使用して提出物の成績を表示、変更、設定することはできません。