このページでは、Google Classroom API でのリクエストの仕組みについて概要を説明します。リソース指向設計や Google Workspace API に精通していない読者を対象としています。
具体的なコードサンプルについては、対応する API ガイド(コースの作成と管理、コースワークの作成と管理など)をご覧ください。
リソース指向の設計
API の構造で説明したように、Classroom API はリソース指向設計パターンに従っています。ほとんどのリソースには、リソースのインスタンスの作成、読み取り、更新、削除などの標準オペレーションのメソッドがあります。
たとえば、API を使用して Classroom Course
を create()
、patch()
、get()
、list()
、delete()
できます。
作成
Course
などの新しいリソースを作成するには、対応するリソースの create()
メソッドを呼び出します。
Create()
呼び出しでは、対応するリソースの初期の重要な詳細情報を常に入力する必要があります。たとえば、Course
を作成するには、Course
リソースで create()
メソッドを呼び出し、リクエストで name
と description
を指定し、room
などのオプション情報を指定します。
サブリソース(子リソース)の場合は、親リソースの識別子も必要です。たとえば、Course
内に CourseWork
を作成する場合は、CourseWork
がどの Course
に属しているかを特定するために Course
id
が必要です。
Create()
メソッドは、API 呼び出しレスポンスで新しく作成されたリソースのインスタンスを返します。通常、返されるリソースには、リソース id
や creationTime
など、サーバー生成の追加フィールドが含まれています。
パッチ
既存のリソースを変更するには、対応するリソースで patch()
メソッド(update()
とも呼ばれる)を呼び出します。patch()
メソッドは create()
とほぼ同じですが、2 つの重要な違いがあります。patch()
メソッドを呼び出すときに、次のものを指定する必要があります。
- 変更するリソースの
id
。 - リソースのどのフィールドを更新するかを決定するフィールドのリスト(
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
メソッドなどのカスタム メソッドを使用できます。これらのメソッドの動作はカスタマイズされているため、個々のドキュメントを参照する必要があります。