見出し画像

#143 ルーブリックについての API が追加された

今回の記事は、Google Classroom のルーブリックを GAS などのプログラムで扱おうとしたものです。記事にしたものの、結論としては Education Plus のライセンスが割り当てられたユーザーとクラスでなければ使えないものです。そのため、現時点では使いこなせませんでした。😖


今年になって日本語訳が ↓ のように追加されました。

記事にあるように、2019年から Google Classroom にはルーブリックによって課題を評価する機能が備えられていましたが、このルーブリックを扱うための API が提供されていませんでした。

前述の blog 記事で案内されているように、ルーブリックを扱うための API が ↓ のように提供されました。

ルーブリックを扱うために、下図のように create、delete、get、list、patch といった従来の API と同様に提供されています。

ルーブリックを扱うために提供される API
REST Resource: courses.courseWork.rubrics | Google Classroom | Google for Developers

試しに使ってみようと思いましたが、リファレンス内で案内されている ↓ んのページの中で、

ライセンス要件

ライセンス要件」として説明されており、これらの条件を満たしていないと利用できないもののようです。実行できるかどうかは、↓ のページで説明されている方法で確認できますが、Education Plus ライセンスが割り当てられたユーザーやクラスでなければいけないようです。

試しに、下図のように API Explorer を用いて API を実行してみましたが、

create でルーブリックを作成しようとしたがエラー
{
  "error": {
    "code": 403,
    "message": "@ProjectPermissionDenied The Developer Console project is not permitted to make this request.",
    "status": "PERMISSION_DENIED"
  }
}

という感じでエラーになってしまいました。

これは、下図のようにリファレンス内で説明されているように API を実行するための権限がないために PERMISSION_DENIED となっているようです。

API 実行時のエラーについての説明
Method: courses.courseWork.rubrics.create  |  Google Classroom  |  Google for Developers

権限がなければ行えないのは、ルーブリックの作成(create)、更新(patch)、削除(delete)であって、参照するだけの list と get については、意図したように動作しました。 ※実際、上記の create を呼び出す際の引数は、既存のルーブリックを list と get で取得したものを引数として渡しており、パラメータエラーではありません。

取得できても、それらをクラスに書き戻せないのでは、あまりプログラムで扱えるようになるメリットがないように感じます。これまで通り、↓ のヘルプ記事にあるように「ルーブリックを再利用する」の手順で、Google Classroom の UI で提供されている機能を用いていればいいように思いました。

わたしの所属している組織でも、Education Plus のライセンスを利用するるようになって、API を利用するステキなアイディアが見つかったら、またチャレンジしてみようと思います。 現時点では、わたしには使えない/使いこなせない API でした。

  • 実際に GAS のプログラムを作ろうとしましたが、リファレンスを見ながら API Explorer で動作を確認しているうちに、上記のような結論になってしまいました。 GAS のカテゴリーらしくない内容かもしれませんがご容赦ください。

いいなと思ったら応援しよう!