デベロッパーは Google Classroom API を使用して、Google Classroom の課題を操作できます。この方法で API を使用するアプリは、CourseWork
統合と呼ばれます。
この統合パスは、Classroom 外のリソースへのリンクを含む課題を作成して採点する場合によく使用されます。 Classroom の共有ボタンと比較して、デベロッパーは課題の管理にアクセスしやすくなります。
仕組み
CourseWork
統合のコア機能は、Classroom API を使用して課題、お知らせ、コース資料を作成、管理することです。
CourseWork
の統合によって可能になる一般的なユーザー ジャーニーの一例として、教師がウェブサイトまたはアプリケーション内からコンテンツを検出、割り当て、採点できるようにすることがあります。
- 教師ユーザーがウェブサイトにログインします。
- 教師がクラスと共有するコンテンツを検索または作成します。教師はウェブサイトのボタンをクリックして、このコンテンツを Google Classroom に送信します。
- アプリケーションが
courses.courseWork.create
にリクエストを発行します。リクエストの本文には、次の項目を含むCourseWork
オブジェクトが含まれています。- 宛先コースの ID。
- 課題のタイトル。
- 課題の説明テキスト。
link
Material
。教師が選択したコンテンツの URL に置き換えます。- 必要に応じて、選択したコンテンツで達成可能な最大スコア。
- 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 から情報を受け取ることはありません。 - 教師は、デベロッパーに依存せずにコースワークを変更または削除できます。つまり、デベロッパーのコースワークに関する知識が古くなる可能性があるということです。コースワークの変更を認識する必要がある場合は、コースワークの変更に関するプッシュ通知を設定することを検討してください。
- 教師は Classroom の UI で課題を作成し、ウェブサイトの URL へのリンクを貼り付けることができます。この方法で作成された課題は教師のみが所有するため、Classroom API を使用して提出物の成績を表示、変更、設定することはできません。