文件

本指南將介紹 Google Docs API 的主要方法、如何存取文件,以及建立文件時的工作流程等概念。

API 方法

documents 資源提供的方法可用於呼叫 Docs API。您可以使用下列方法建立、讀取及更新 Google 文件:

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

文件 ID

documentId 是文件的專屬 ID,可從文件的網址衍生而來。這是由字母、數字和部分特殊字元組成的特定字串。即使文件名稱變更,文件 ID 仍會保持不變。

https://docs.google.com/document/d/DOCUMENT_ID/edit

下列規則運算式可用於從 Google 文件網址中擷取 documentId

/document/d/([a-zA-Z0-9-_]+)

如果您熟悉 Google Drive API,documentId 對應於 files 資源中的 id

管理 Google 雲端硬碟中的文件

文件檔案會儲存在 Google 雲端硬碟,也就是我們的雲端儲存服務。雖然文件 API 有自己的獨立方法,但通常也需要使用 Google Drive API 方法與使用者的文件檔案互動。舉例來說,如要複製 Google 文件檔案,請使用 Drive API 的 files.copy 方法。詳情請參閱「複製現有文件」。

根據預設,使用 Google 文件 API 時,新文件會儲存到使用者雲端硬碟的根資料夾。您可以選擇將檔案儲存到雲端硬碟資料夾。詳情請參閱「使用 Google 雲端硬碟資料夾」。

使用 Google 文件檔案

如要從使用者的「我的雲端硬碟」中擷取文件,通常必須先使用雲端硬碟的 files.list 方法擷取檔案 ID。呼叫這個方法時不帶任何參數,會傳回使用者所有檔案和資料夾的清單,包括 ID。

文件的 MIME 類型會指出資料類型和格式。Google 文件使用的 MIME 類型格式為 application/vnd.google-apps.document。如需 MIME 類型清單,請參閱「Google Workspace 和 Google 雲端硬碟支援的 MIME 類型」。

如要只搜尋「我的雲端硬碟」中的 Google 文件檔案,請附加下列查詢字串篩選條件:

q: mimeType = 'application/vnd.google-apps.document'

如要進一步瞭解查詢字串篩選器,請參閱「搜尋檔案和資料夾」。

取得 documentId 後,請使用 documents.get 方法擷取指定文件的完整執行個體。詳情請參閱「要求和回應」。

如要匯出 Google Workspace 文件的位元組內容,請使用雲端硬碟的 files.export 方法,並提供要匯出的檔案 documentId 和正確的匯出 MIME 類型。詳情請參閱「匯出 Google Workspace 文件內容」。

比較 GetList 方法

下表說明 Google 雲端硬碟和 Google 文件方法之間的差異,以及每種方法傳回的資料:

運算子 說明 用量
drive.files.get 依 ID 取得檔案的中繼資料。傳回 files 資源的例項。 取得特定檔案的中繼資料。
drive.files.list 取得使用者的檔案。傳回檔案清單。 如果不確定要修改哪個檔案,可以取得使用者檔案清單。
docs.documents.get 取得指定文件的最新版本,包括所有格式和文字。傳回 documents 資源的例項。 取得特定文件 ID 的文件。

文件建立工作流程

建立及填入新文件內容非常簡單,因為不必擔心現有內容,也沒有協作者會變更文件狀態。從概念上來說,這項作業的運作方式如下列順序圖所示:

建立及填入新文件的流程。
圖 1. 建立及填入新文件的流程。

在圖 1 中,使用者與 documents 資源互動時,資訊流程如下:

  1. 應用程式會呼叫網路伺服器上的 documents.create 方法。
  2. 網路伺服器會傳送 HTTP 回應,其中包含所建立文件例項的 documents 資源。
  3. 視需要,應用程式可以呼叫 documents.batchUpdate 方法,以不可分割的形式執行一組編輯要求,在文件中填入資料。
  4. 網路伺服器會傳送 HTTP 回應。部分 documents.batchUpdate 方法會提供回應內文,其中包含已套用要求的相關資訊,其他方法則會顯示空白回應。

文件更新工作流程

更新現有文件較為複雜,如要進行有意義的呼叫來更新文件,您必須瞭解文件的目前狀態:組成文件的元素、這些元素中的內容,以及文件內元素的順序。下圖顯示運作方式:

更新文件的流程。
圖 2. 更新文件的流程。

在圖 2 中,與 documents 資源互動的使用者會經歷下列資訊流程:

  1. 應用程式會在網路伺服器上呼叫 documents.get 方法,並提供要尋找的檔案 documentId
  2. 網路伺服器會傳送 HTTP 回應,其中包含指定文件的執行個體,做為 documents 資源。傳回的 JSON 包含文件內容、格式和其他功能。
  3. 應用程式會剖析 JSON,方便使用者判斷要更新的內容或格式。
  4. 應用程式會呼叫 documents.batchUpdate 方法,以不可分割的形式執行一組編輯要求,更新文件。
  5. 網路伺服器會傳送 HTTP 回應。部分 documents.batchUpdate 方法會提供回應內文,其中包含已套用要求的相關資訊,其他方法則會顯示空白回應。

這張圖表未考量其他協作者在同一份文件中同時更新的工作流程。詳情請參閱「規劃協作」一節的最佳做法。