ラベル API の投稿を表示しています。 すべての投稿を表示
ラベル API の投稿を表示しています。 すべての投稿を表示

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:リファレンスのページについて、解説したいと思います。

2021/05/17

【API】詳説 Google Classroom API(第1回:アクセス方法)

 Google Classroom APIを使用したGASの紹介、Google Classroom の利用方法についてはあらゆるWebサイトで取り上げられています。Classroom.jpではGoogle Classroom API に焦点を置き、それ自体を取り上げ、1つひとつ解説していきます。

・Classroom API(Classroomサービスとは)

Google Classroom APIのトップ画面


Classroomサービスは、GASでClassroomを操作するためのクラスと、そのメンバーを提供するサービスです。Classroomサービスを使用することで、コース*固有の情報を取得したり、コースに課題を設定することや、参加者(メンバー)の操作ができます。
Classroomサービスで提供されている主なオブジェクトは、次のとおりです。

オブジェクト説明
ClassroomClassroomサービスのトップレベルオブジェクト
coursesコースを操作する機能を提供する主なオブジェクト
courses.studentsコースに参加している生徒の情報を操作するオブジェクト
invitationsコースへの招待に関する招待状を操作するオブジェクト

*Classroomの1クラスを指します。たとえばコース固有の「クラスコード」など、Googleはコースを「クラス」と呼称することがありますが、本連載ではGASのクラスと峻別するために「コース」といいます。


・Google Classroom APIへのアクセス方法

Google Classroom APIの直リンクはこちらです。また、Googleの公式からアクセスする方法は2通りあります。(この他にもアクセスする方法をご存知の方がいらっしゃれば情報をお寄せください)

1. 「Classroom API の概要」からアクセスする

Classroomヘルプ > Classroomの拡張 > Classroom API の概要 にあるClassroom API からアクセスできます。

APIの概要


2.「Google APIs Explorer」からアクセスする

Google APIs Explorerの[Type to filter APIs]に「Google Classroom」と入力し、検索した結果からアクセスできます。


Explorerの画面

次回はGoogle Classroom APIのページ構造について解説したいと思います。