要求與回應

本指南介紹構成 Google Document API 的主要要求和回應方法,以及如何批次更新文件。

您可以使用 HTTP 要求或特定語言用戶端程式庫中的方法叫用,叫用 Google Document API。這幾乎相同。

Google Document API 會傳回 HTTP 回應,其中通常包含要求叫用的結果。使用用戶端程式庫發出要求時,系統會以特定語言傳回回應。

要求方法

Document API 支援下列方法:

  • documents.create:建立空白的 Google 文件。
  • documents.get:傳回指定文件的完整例項。您可以剖析傳回的 JSON,以擷取文件內容、格式和其他特徵。
  • documents.batchUpdate:提交要套用至文件的編輯要求清單,並傳回結果清單。

documents.getdocuments.batchUpdate 方法需要 documentId 做為參數來指定目標文件。documents.create 方法會傳回所建立文件的執行個體,您可以在其中讀取 documentId。如要進一步瞭解 documentId,請參閱「文件 ID」。

批次更新

documents.batchUpdate 方法會取得 request 物件清單,每個物件都指定一項要執行的要求。例如設定段落格式,然後新增內嵌圖片每個要求在套用前都會經過驗證,且會依據要求在批次要求中的出現順序處理。

系統會以不可分割的形式套用批次更新中的所有要求。也就是說,如果任何要求無效,則整個更新作業都會失敗,且不會套用任何可能依附的變更。

部分 documents.batchUpdate 方法會在回應中提供已套用要求的相關資訊。這些方法會傳回包含 response 物件清單的回應主體。其他要求則不需要傳回資訊並顯示空白回覆。回應清單中的物件與對應的要求具有相同的索引順序。

以下是提出批次要求的常見模式:

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

body = ... & requests & ...

...batchUpdate(body)

請參閱批次要求最佳做法一文,瞭解如何批次處理 Document API 呼叫,以及有關要求與回應類型的 documents.batchUpdate 參考說明文件。

批次更新作業

批次更新要求有多種類型。以下是要求類型的細目,依不同類別區分。

物件 ADD / INSERT 更新 / 取代 刪除
文字 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
頁面物件 (包括headers頁尾) InsertPageBreakRequest
CreateHeaderRequest
CreateFooterRequest
CreateFootnoteRequest
InsertSectionBreakRequest
DeletePositionedObjectRequest
DeleteHeaderRequest
DeleteFooterRequest