リクエストの仕組み

このページでは、Google Classroom API でのリクエストの仕組みについて概要を説明します。目標は、リソース指向の設計や Google Workspace API にまだ慣れていない読者を支援することです。

具体的なコードサンプルについては、コースの作成と管理コースワークの作成と管理など、対応する API ガイドをご覧ください。

リソース指向の設計

API の構造で説明したように、Classroom API はリソース指向の設計パターンに従います。ほとんどのリソースには、リソースのインスタンスの作成、読み取り、更新、削除などの標準オペレーションのメソッドがあります。

たとえば、API を使用して、Classroom Coursecreate()patch()get()list()delete() の操作ができます。

作成

Course などの新しいリソースを作成するには、対応するリソースの create() メソッドを呼び出します。

Create() 呼び出しでは、対応するリソースの初期の重要な詳細情報を常に入力する必要があります。たとえば、Course を作成するには、Course リソースの create() メソッドを呼び出し、リクエストで namedescription を指定し、room などのオプション情報を指定します。

サブリソース(子リソース)の場合は、親リソースの識別子も必要です。たとえば、Course 内に CourseWork を作成する場合、CourseWork が属する Course を確立するために Course id が必要です。

Create() メソッドは、API 呼び出しレスポンスで新しく作成されたリソースのインスタンスを返します。通常、返されるリソースには、リソース idcreationTime など、サーバーが生成した追加のフィールドがあります。

パッチ

既存のリソースを変更するには、対応するリソースで patch() メソッド(update() とも呼ばれます)を呼び出します。patch() メソッドは create() とほぼ同じですが、2 つの重要な違いがあります。patch() メソッドを呼び出すときに、次のものを指定する必要があります。

  1. 変更するリソースの id
  2. リソースのどのフィールドを更新するかを決定するフィールドのリスト(updateMask)。デフォルトのフィールド セットがある場合や、フィールドが推測される場合、このオプションは省略可能です。

Patch() メソッドは、API 呼び出しレスポンスで更新されたリソースの完全なインスタンスを返し、すべての変更が完了しています。

取得して一覧表示

リソースを取得するためのメソッドとして、get()list() の 2 つがあります。

get() メソッドは、特定のリソースを識別子で取得します。たとえば、idalias に基づいて Course を取得します。get() を呼び出すと、リソース全体が直接返されます。

list() メソッドは、個々のリソース識別子を必要とせずに、1 回のリクエストで同じタイプの複数のリソースを取得します。多くの場合、list() オペレーションは親リソースのすべてのサブリソースを取得します。たとえば、Course 内のすべての CourseWork を取得します。これは、複数の get() 呼び出しと比較してリクエストを最小限に抑えるのに役立ちます。また、必要なリソースの id が不明な場合は特に有用です。

一般に、list() メソッドには 1 回の呼び出しで返すことができるリソースの最大量があります。呼び出しに pageSize 値を含めることで、より低い上限を構成できます。上限を超えるリソースがある場合、list() メソッドはページネーションをサポートします。返された結果の各「ページ」で pageToken が提供されます。これを後続の list() 呼び出しに組み込んで、リソースの次のバッチをフェッチします。

削除

delete() メソッドは、id などのリソース ID を受け取り、対応するリソースを削除します。delete() が成功すると、空のレスポンスが返されます。

その他の演算

Classroom API で可能なすべてのオペレーションを、前述の標準オペレーションで実行できるわけではありません。たとえば、CourseWork リソースの割り当て先を変更することはできません。そのような場合は、modifyAssignees メソッドなどのカスタム メソッドを使用できます。これらのメソッドの動作はカスタマイズされているため、ドキュメントを個別に参照する必要があります。