要求與回應

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

您可以使用 HTTP 要求,或在語言專屬的用戶端程式庫中使用方法叫用來叫用 Google 文件 API。這兩種方法大致相同。

Google 文件 API 會傳回 HTTP 回應,通常會包含要求叫用作業的結果。使用用戶端程式庫發出要求時,系統會以語言專屬的方式傳回回應。

要求方法

Docs API 支援下列方法:

  • documents.create:建立空白的 Google 文件。

  • documents.get:傳回指定文件的完整例項。您可以剖析傳回的 JSON,擷取文件內容、格式和其他功能。

  • documents.batchUpdate:提交編輯要求清單,以便以原子方式套用至文件,並傳回結果清單。

documents.getdocuments.batchUpdate 方法需要 documentId 做為參數,以指定目標文件。documents.create 方法會傳回已建立文件的例項,您可以從中讀取 documentId。如要進一步瞭解 documentId,請參閱「文件 ID」。

請注意,您無法使用 documents.get 方法擷取已發布的文件。發布後,公開文件會使用不同的網址格式。嘗試使用網址的新 documentId 搭配 documents.get 方法時,會傳回 404 HTTP 狀態碼回應。無法從已發布的網址擷取原始 documentId。如要解決這個問題,您可以使用 Drive API 將已發布的文件複製至共用文件,然後改為存取這份文件。詳情請參閱「公開 Google 文件、試算表、簡報和表單」。

批次更新

documents.batchUpdate 方法會採用 request 物件的清單,每個物件都會指定要執行的單一要求。例如設定段落格式,然後加入內嵌圖片。系統會先驗證每項要求,再套用,並依照這些要求在批次要求中顯示的順序進行處理。

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

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

發出批次要求的常見模式如下所示:

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

body = ... & requests & ...

...batchUpdate(body)

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

批次更新作業

批次更新要求有各種類型。以下是要求類型的細目,並分為不同類別。