Method: documents.batchUpdate

為文件套用一或多項更新。

每個 request 都會在套用前進行驗證。如果任何要求無效,整個要求就會失敗,且不會套用任何內容。

部分要求會提供 replies,讓您瞭解這些要求的應用方式。其他要求則不需要傳回資訊,而是會傳回空白回覆。回覆的順序與要求的順序相符。

舉例來說,假設您使用 4 次更新來呼叫 batchUpdate,且只有第三個更新傳回資訊。回應會包含兩個空白回覆,分別是回覆第三個要求,以及另一個空白回覆。

由於其他使用者可能會編輯文件,因此文件可能無法完全反映您的變更:您的變更可能會因協作者的變更而有所改變。如果沒有任何協作者,則文件會反映你所做的變更。無論如何,我們都保證會以不可分割的方式一併套用要求中的更新內容。

HTTP 要求

POST https://docs.googleapis.com/v1/documents/{documentId}:batchUpdate

這個網址使用 gRPC 轉碼語法。

路徑參數

參數
documentId

string

要更新的文件 ID。

要求主體

要求主體的資料會採用以下結構:

JSON 表示法
{
  "requests": [
    {
      object (Request)
    }
  ],
  "writeControl": {
    object (WriteControl)
  }
}
欄位
requests[]

object (Request)

要套用至文件的更新清單。

writeControl

object (WriteControl)

提供寫入要求的執行方式控制項。

回應主體

來自 documents.batchUpdate 要求的回應訊息。

如果成功,回應主體會含有以下結構的資料:

JSON 表示法
{
  "documentId": string,
  "replies": [
    {
      object (Response)
    }
  ],
  "writeControl": {
    object (WriteControl)
  }
}
欄位
documentId

string

已套用更新的文件 ID。

replies[]

object (Response)

更新的回覆。這會與更新項目一比一對應,但某些要求的回覆可能會為空白。

writeControl

object (WriteControl)

套用要求後的更新寫入控制項。

授權範圍

需要下列其中一種 OAuth 範圍:

  • https://www.googleapis.com/auth/documents
  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.file

詳情請參閱授權指南

WriteControl

提供寫入要求的執行方式控制項。

JSON 表示法
{

  // Union field control can be only one of the following:
  "requiredRevisionId": string,
  "targetRevisionId": string
  // End of list of possible types for union field control.
}
欄位
聯集欄位 control。決定要寫入的文件修訂版本,以及如果該修訂版本不是文件目前的修訂版本,要求應如何運作。如果未指定任何欄位,更新會套用至最新修訂版本。control 只能是下列其中一項:
requiredRevisionId

string

可套用寫入要求的文件 (選用) revision ID。如果不是文件的最新修訂版本,系統就不會處理要求,並傳回 400 錯誤要求錯誤。

如果回應中傳回必要的修訂版本 ID,它會指出套用要求後的文件修訂版本 ID。

targetRevisionId

string

寫入要求所套用的文件選用目標 revision ID

如果協作者在使用 API 讀取文件後進行變更,系統會將這項寫入要求產生的變更套用至協作者的變更。這會產生新的文件修訂版本,同時納入協作者變更與要求變更,同時解決文件伺服器不一致的變更。使用目標修訂版本 ID 時,API 用戶端可視為文件的另一位協作者。

目標修訂版本 ID 只能用於寫入文件的最新版本。如果目標修訂版本與最新修訂版本相差太多,系統就不會處理要求,並傳回 400 錯誤要求錯誤。擷取最新版本的文件後,應再次嘗試要求。通常修訂 ID 在讀取後會維持有效狀態,可用於做為目標修訂版本,但經常編輯的文件,這個時間可能會縮短。