リクエストとレスポンス

このガイドでは、Google Docs API を構成する主なリクエスト メソッドとレスポンス メソッド、およびドキュメントを一括で更新する方法について説明します。

Google Docs API は、HTTP リクエストを使用するか、言語固有の クライアント ライブラリでメソッド 呼び出しを使用して呼び出すことができます。これらはほぼ同じです。

Google Docs API は HTTP レスポンスを返します。通常、これにはリクエスト呼び出しの結果が含まれます。クライアント ライブラリを使用してリクエストを行う場合、レスポンスは言語固有の方法で返されます。

リクエストのメソッド

Docs API は次のメソッドをサポートしています。

  • documents.create: 空の Google ドキュメントを作成します。

  • documents.get: 指定したドキュメントの完全なインスタンスを返します。返された JSON を解析して、ドキュメントのコンテンツ、書式設定、その他の機能を取得できます。

  • documents.batchUpdate: ドキュメントにアトミックに適用する編集リクエストのリストを送信し、結果のリストを返します。

documents.get メソッドと documents.batchUpdate メソッドでは、ターゲット ドキュメントを指定するパラメータとして documentId が必要です。documents.create メソッドは、作成されたドキュメントのインスタンスを返します。このインスタンスから documentId を読み取ることができます。documentId の詳細については、ドキュメント ID をご覧ください。

公開されたドキュメント

documents.get メソッドを使用して、公開されたドキュメントを取得することはできません。公開された一般公開ドキュメントでは、異なる URL 形式が使用され、個別の一般公開 documentId が使用されます。一般公開 documentIddocuments.get メソッドで使用しようとすると、404 HTTP ステータス コード レスポンスが返されます。

同様に、Drive API files.copy メソッドを使用して、 公開されたドキュメントをコピーすることはできません。

公開されたドキュメントを取得またはコピーするには、元の documentId を使用する必要があります。公開された URL から元の documentId を抽出する方法はありません。

詳しくは以下をご覧ください。

バッチ更新

The documents.batchUpdate メソッドは、実行する単一のリクエストを指定する request オブジェクトのリストを受け取ります。たとえば、段落の書式を設定してから、インライン画像を追加します。各リクエストは適用前に検証され、リクエストはバッチ リクエストに表示される順序で処理されます。

バッチ アップデートのすべてのリクエストはアトミックに適用されます。つまり、リクエストが無効な場合、更新全体が失敗し、依存関係のある変更は適用されません。

一部の documents.batchUpdate メソッドは、適用されたリクエストに関する情報を含むレスポンスを提供します。これらのメソッドは、response body オブジェクトのリストを含む responseを返します。 他のリクエストでは、情報を返す必要がなく、空の返信が表示されます。レスポンス リスト内のオブジェクトは、対応するリクエストと同じインデックス順になります。

バッチ リクエストを行う一般的なパターンは次のようになります。

requests = []
requests.append(first request)
requests.append(second request)
...

body = ... & requests & ...

...batchUpdate(body)

Docs API 呼び出しをバッチ処理する方法の詳細については、バッチ リクエストのベスト プラクティスをご覧ください。リクエストとレスポンスのタイプについては、documents.batchUpdate リファレンス ドキュメントをご覧ください。

バッチ アップデート オペレーション

バッチ アップデート リクエストにはさまざまな種類があります。リクエスト タイプの内訳を カテゴリ別に示します。

オブジェクト 追加 / 挿入 更新 / 置換 削除
テキスト InsertTextRequest ReplaceAllTextRequest
スタイル CreateParagraphBulletsRequest UpdateTextStyleRequest
UpdateParagraphStyleRequest
UpdateTableCellStyleRequest
UpdateTableRowStyleRequest
UpdateDocumentStyleRequest
UpdateSectionStyleRequest
DeleteParagraphBulletsRequest
名前付き範囲 CreateNamedRangeRequest ReplaceNamedRangeContentRequest DeleteNamedRangeRequest
DeleteContentRangeRequest
画像検索 InsertInlineImageRequest ReplaceImageRequest
テーブル InsertTableRequest
InsertTableRowRequest
InsertTableColumnRequest
UpdateTableColumnPropertiesRequest
MergeTableCellsRequest
UnmergeTableCellsRequest
PinTableHeaderRowsRequest
DeleteTableRowRequest
DeleteTableColumnRequest
ページ オブジェクト(ヘッダーフッターを含む) InsertPageBreakRequest
CreateHeaderRequest
CreateFooterRequest
CreateFootnoteRequest
InsertSectionBreakRequest
DeletePositionedObjectRequest
DeleteHeaderRequest
DeleteFooterRequest