リクエストの仕組み

このページでは、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() メソッドは、特定の ID で特定のリソースを取得します。たとえば、id または alias に基づいて Course を取得します。get() 呼び出しは、完全なリソースを直接返します。

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

通常、list() メソッドには、1 回の呼び出しで返されるリソースの最大量があります。呼び出しに pageSize 値を含めることで、下限を構成できます。リソース数が上限を超えている場合、list() メソッドはページ設定をサポートしています。返される結果の各「ページ」には pageToken が含まれます。このトークンは、後続の list() 呼び出しに含めて、次のリソース バッチを取得できます。

削除

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

その他の演算

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