Google Drive API 支援數種下載和匯出動作,如下表所示:
下載 |
|
|||
匯出 |
|
本指南的其餘部分會提供執行這些下載和匯出動作的詳細操作說明。
下載 blob 檔案內容
如要下載儲存在雲端硬碟中的 blob 檔案,請使用要下載檔案的 files.get
方法和 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
範圍的應用程式未獲授權,無法下載檔案。這個程式碼範例使用受限的「雲端硬碟」檔案範圍,讓使用者檢視及管理您所有的雲端硬碟檔案。如要進一步瞭解雲端硬碟範圍,請參閱 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
標頭。如要進一步瞭解如何下載修訂版本,請參閱下載及發布檔案修訂版本。
在瀏覽器中下載 blob 檔案內容
如要下載瀏覽器中儲存的 blob 檔案內容 (而不是透過 API),請使用 Files
資源的 webContentLink
欄位。如果使用者俱有該檔案的下載權限,系統會傳回下載檔案的連結和內容連結。您可以將使用者重新導向至這個網址,或是將其設為可點擊的連結。
匯出 Google Workspace 文件內容
如要匯出 Google Workspace 文件位元組內容,請使用 files.export
方法搭配要匯出的檔案 ID 和正確的 MIME 類型。匯出的內容上限為 10 MB。
下列程式碼範例說明如何使用 files.export
方法,透過 Drive API 用戶端程式庫以 PDF 格式匯出 Google Workspace 文件:
Java
Python
Node.js
PHP
.NET
這個程式碼範例使用受限的 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。如果使用者俱有該檔案的下載權限,系統會傳回下載檔案的連結和內容連結。您可以將使用者重新導向至這個網址,或是將其設為可點擊的連結。