2021/06/22

【API】詳説 Google Classroom API(第3回 Guides:ガイド)

前回はトップページの見方について解説しました。
今回は、ガイドのページについて見ていきます。

Google Classroom API Guides

ガイドのトップページ


ページ左側の各カテゴリについて解説します。

・Get Started
    Google Classroomの概要、APIを利用できるドメイン、APIの概要、コースのエイリアス、リスト(コース名簿)の管理、課題の管理と学生の提出などが説明されています。

・Share to Classroom
    クラスルームの共有ボタンを作成できます。作成した共有ボタンをご自身のWebサイトに追加することで、ユーザーがコンテンツをクラスで共有し、サイトへのトラフィックを増やすことができます。

・Quickstart
    ガイドのページで最も大切な項目です。Go,Google Apps Script, Java、Pythonなど各言語ごとにAPIのセットアップおよびサンプルコードが記載されています。Google Apps Scriptのサンプルコードを実行すると、自身が所属している10コースの「コース名とコースID」が出力されます。

コース名とIDを取得するサンプルコード


・Using the API
    Quickstartの次に大切な項目といえます。以下のカテゴリごとに、サンプルコードが示されています。

    ①Manage Courses:コースを管理する
    コースは「M.スミスの第四期の数学」などのクラスを表します。各コースは、割り当てられた一意のIDによって識別されます。また、ページにある courses.create() メソッドを使用したサンプルコードを実行すると、新しいコースを作成できます。


コースを追加するサンプルコード(GAS)


    ②Manage Aliases:コースエイリアスを管理する
        Googleは、SIS(Student Information Systems:生徒情報システム)からコースを作成する場合やSISとコースをリンクする場合は常に、SISのコースIDをコースエイリアスとして使用することを推奨しています。SISやコースのエイリアスについては、別記事にて解説したいと思います。

    ③Manage Teachers and Students:教師と生徒を管理する
        ここではGASのサンプルコードが記載されていませんが、各メソッドの紹介があります。
    invitations.create() :招待状を送信します。招待者の参加同意が必要です。
    teachers.create() :ドメイン内に教師を直接追加できます(管理者のみ)。
    students.create() :ドメイン内に生徒を直接追加できます(管理者のみ)。
    students.delete() :指定したコースから学生を削除できます。
    courses.list() :コースのリストを取得します。取得範囲は教師と学生で異なります。
    userProfiles.get() :ユーザーID、メールアドレスなどの情報を取得します。

    ④Manage Classwork:授業課題を管理する
       Google Classroomは課題、テスト付き課題、質問等、5種類の授業方法があります。Classroom APIでは現在、3つ(課題、質問、資料)の操作が可能です。
        ここではGASのサンプルコードが記載されていませんが、この機能にアクセスするためのメソッドを解説しています。また、課題の割当管理については、studentSubmissionsで行います(詳細はリファレンスの回で解説します)。
    courses.courseWork.get() :特定の課題や質問を取得します。
    courses.courseWork.list() :全ての課題または質問を取得します。

    ⑤Manage Topics:トピックを管理する
        トピックとは、例えば課題や資料の類似度によって分類分けすることです。各トピックは、サーバーによって割り当てられた一意のIDによって識別されます。なお、GASのサンプルコードはありません。

    ⑥Managing Guardians:保護者を管理する
        保護者を設定すると、学生に与える課題等の情報をメールで受信できます。通常、学生ドメインのメンバーに属さない保護者は、保護者になるために自身のメールアドレスを使用して招待する必要があります。
       次の表は、ユーザーのタイプに応じて、保護者に対して実行できるアクションを示しています。

保護者の情報招待
閲覧変更閲覧/変更説明
学生××学生自身の保証人のみ可。
教師クラスの生徒については、管理者がドメインコンソールで有効にしている場合に可。
管理者ドメイン内の全ての学生に対して可。
注:保護者のメールアドレスは、管理者のみがアクセス可能です。

    ⑦Authorizing Requests:リクエストを承認する
        OAuth2.0のリクエスト承認について説明しています。


・Best Practices
    Classroom APIのプッシュ通知、バッチリクエスト、APIエラーの処理、API処理性能の向上について説明しています。

・Tutorials
    「Share to Classroom」にて説明のあったクラスルームの共有ボタンとCourseWork APIの違いについて説明しています。主に、両者における課題の割り当てに関する内容になります。

以上、今回はGoogle Classroom APIのガイドのページについて見ていきました。次回は、いよいよReference:リファレンスのページについて、解説したいと思います。