Google Drive API 支援多種下載和匯出動作,如下表所示:
下載動作 |
|
||||
匯出動作 |
|
在下載或匯出檔案內容之前,請確認使用者可以使用 files
資源中的 capabilities.canDownload
欄位下載檔案。
如要瞭解這裡提到的檔案類型 (包括 blob 和 Google Workspace 檔案),請參閱「檔案類型」。
本指南的其餘部分提供了詳細操作說明,適用於執行這些類型的下載與匯出動作。
下載 blob 檔案內容
如要下載儲存在 Google 雲端硬碟中的 Blob 檔案,請使用 files.get
方法,並附上要下載的檔案 ID 和 alt=media
網址參數。alt=media
網址參數會告訴伺服器,要求下載內容做為替代回應格式。
alt=media
網址參數是 Google REST API 提供的系統參數。如果您使用 Drive API 的用戶端程式庫,則不需要明確設定這個參數。
以下程式碼範例說明如何使用 files.get
方法透過 Drive API 用戶端程式庫下載檔案。
Java
Python
Node.js
PHP
.NET
此程式碼範例使用程式庫方法,將 alt=media
網址參數新增至基礎 HTTP 要求。
從應用程式啟動的檔案下載作業必須經過授權,且授權範圍必須允許讀取檔案內容。舉例來說,使用 drive.readonly.metadata
範圍的應用程式沒有下載檔案內容的授權。這個程式碼範例使用受限的「drive」檔案範圍,可讓使用者查看及管理所有雲端硬碟檔案。如要進一步瞭解雲端硬碟範圍,請參閱「選擇 Google Drive API 範圍」。
具備編輯權限的使用者,可以將 copyRequiresWriterPermission
欄位設為 false
,藉此限制唯讀使用者下載內容。
系統判定為違規的檔案 (例如有害軟體),只有檔案擁有者可以下載。此外,您必須加入 get
查詢參數 acknowledgeAbuse=true
,指出使用者已瞭解下載可能不必要的軟體或其他濫用檔案的風險。應用程式應在使用這個查詢參數前,以互動方式警告使用者。
部分下載
部分下載只涉及下載檔案的特定部分。您可以使用 Range
標頭的位元組範圍,指定要下載的檔案部分。例如:
Range: bytes=500-999
以舊版下載 Blob 檔案內容
如要下載較舊版本的 blob 檔案內容,請使用 revisions.get
方法,並加入要下載的檔案 ID、修訂版本 ID 和 alt=media
網址參數。alt=media
網址參數會告訴伺服器,要求以替代回應格式下載內容。與 files.get
類似,revisions.get
方法也接受選用的查詢參數 acknowledgeAbuse
和 Range
標頭。如要進一步瞭解如何下載修訂版本,請參閱「管理檔案修訂版本」。
這裡會顯示要求通訊協定。
GET https://www.googleapis.com/drive/v3/files/{FILE_ID
}/revisions/{REVISION_ID
}?alt=media
在瀏覽器中下載 Blob 檔案內容
如要透過瀏覽器下載儲存在雲端硬碟中的 blob 檔案內容,而非透過 API,請使用 files
資源的 webContentLink
欄位。如果使用者有下載檔案的權限,系統會傳回下載檔案及其內容的連結。您可以將使用者重新導向至這個網址,也可以將網址提供為可點選的連結。
在長時間執行的作業期間下載 Blob 檔案內容
如要在長時間執行的作業期間下載 Blob 檔案的內容,請使用 files.download
方法,並附上要下載的檔案 ID。您可以選擇設定修訂版本的 ID。這是下載 Google Vids 檔案的唯一方式。詳情請參閱「管理長時間執行的作業」。
匯出 Google Workspace 文件內容
如要匯出 Google Workspace 文件的位元組內容,請使用 files.export
方法,並附上要匯出的檔案 ID 和正確的 MIME 類型。匯出的內容大小上限為 10 MB。
以下程式碼範例說明如何使用 files.export
方法,透過 Drive API 用戶端程式庫,以 PDF 格式匯出 Google Workspace 文件:
Java
Python
Node.js
PHP
.NET
這個程式碼範例使用受限的 drive
範圍,可讓使用者查看及管理所有雲端硬碟檔案。如要進一步瞭解雲端硬碟範圍,請參閱「選擇 Google Drive API 範圍」。
程式碼範例也會將匯出的 MIME 類型宣告為 application/pdf
。如需每份 Google Workspace 文件支援的所有匯出 MIME 類型完整清單,請參閱「Google Workspace 文件的匯出 MIME 類型」。
在瀏覽器中匯出 Google Workspace 文件內容
如要在瀏覽器中匯出 Google Workspace 文件內容,請使用 files
資源的 exportLinks
欄位。視文件類型而定,系統會針對每種可用的 MIME 類型傳回檔案下載連結及其內容。您可以將使用者重新導向至網址,或提供可點選的連結。
在瀏覽器中匯出舊版 Google Workspace 文件內容
如要在瀏覽器中匯出舊版 Google Workspace 文件內容,請使用 revisions.get
方法,搭配要下載的檔案 ID 和修訂版本 ID,產生可用來下載的匯出連結。如果使用者有下載檔案的權限,系統會傳回下載檔案及其內容的連結。您可以將使用者重新導向至這個網址,也可以將網址提供為可點選的連結。
在長時間執行的作業期間匯出 Google Workspace 文件內容
如要在長時間執行的作業期間匯出 Google Workspace 文件內容,請使用 files.download
方法,並附上要下載的檔案 ID 和修訂版本 ID。詳情請參閱管理長時間執行的作業。