最新版 Google 雲端硬碟 API 為 v3。第 3 版的效能較佳,因為搜尋只會傳回部分欄位。除非需要 v2 集合,否則請使用目前版本。如果您使用第 2 版,請考慮遷移至第 3 版。如要遷移,請參閱「遷移至 Drive API v3」。如需完整的版本差異清單,請參閱 Drive API v2 和 v3 比較參考資料。
如要繼續使用第 2 版,請參閱「Drive API 第 2 版指南」修訂內容,瞭解第 3 版指南中的部分操作說明,如何為第 2 版開發人員進行修訂。
如要進一步瞭解 Drive API v3 的改良之處,請觀看下列影片,聽取 Google 工程師討論新版 API 設計。
V3 改善項目
為提升效能及簡化 API 行為,v3 相較於舊版 API 有下列改良之處:
- 根據預設,搜尋檔案和共用雲端硬碟不會傳回完整資源,只會傳回常用欄位的子集。如要進一步瞭解
fields,請參閱files.list方法和drives.list方法。 - 現在,幾乎所有會傳回回應的方法都需要
fields參數。如要查看需要fields的所有方法清單,請參閱 Google Drive API 參考資料。 - 系統已移除功能重複的資源。舉例來說:
files.list方法可達成與Children和Parents集合相同的函式,因此已從第 3 版中移除。- 已移除
Realtime.*方法。
- 根據預設,搜尋不會傳回應用程式資料。在第 2 版中,您可以設定
drive.appdata範圍,並從files.list方法和changes.list方法傳回應用程式資料,但這會降低效能。在第 3 版中,您會設定drive.appdata範圍,並設定查詢參數spaces=appDataFolder來要求應用程式資料。 - 所有更新作業都會使用 PATCH,而非 PUT。
- 如要匯出 Google 文件,請使用
files.export方法。 changes.list方法的行為有所不同。請改用不透明網頁權杖,而非變更 ID。如要輪詢變更集合,請先呼叫changes.getStartPageToken方法取得初始值。後續查詢時,changes.list方法會傳回newStartPageToken值。- 更新方法現在會拒絕指定不可寫入欄位的要求。
about資源中的 v2exportFormats和importFormats欄位是允許匯入或匯出格式的清單。在第 3 版中,這些是可能目標的 MIME 類型對應,適用於所有支援的匯入或匯出作業。- v2 的
appdata和appfolder別名現在是 v3 的appDataFolder。 - 系統會從 v3 移除
properties資源。files資源具有properties欄位,其中包含實際的鍵/值組合。properties欄位包含公開屬性,appProperties欄位則包含私人屬性,因此不需要瀏覽權限欄位。 files資源中的modifiedTime欄位會更新檔案上次修改的時間。在第 2 版中,只有在設定setModifiedDate欄位時,才能在更新時變更modifiedDate欄位。files資源中的viewedByMeTime欄位不會自動更新。- 如要匯入 Google 文件格式,請在資源主體中設定適當的目標
mimeType。在第 2 版中,您會設定?convert=true。 - 如果格式不受支援,匯入作業會傳回 400 錯誤。
- 讀者和加註者無法查看權限。
- 移除權限的
me別名。 - 部分功能原本是要求資源的一部分,但現在改為要求參數。例如:
- 在第 2 版中,您可以使用
children.delete從上層資料夾移除子項檔案。 - 在第 3 版中,您會在網址中使用
files.update,對子項使用?removeParents=parent_id。
- 在第 2 版中,您可以使用
其他差異
v3 中的欄位和參數名稱不同。例如:
name屬性會取代files資源中的title。- 所有日期和時間欄位的後置字串都是
Time,而非Date。 - 清單作業不會使用
items欄位來包含結果集。資源類型會提供結果的欄位 (例如files或changes)。