最新的 Google Drive API 版本為 v3。第 3 版的成效更好,因為 搜尋只會傳回部分欄位除非需要,否則請使用目前版本 v2 集合。如果您使用的是第 2 版,請考慮 遷移至 v3如要進行遷移,請參閱「遷移至 Drive API v3」一文。如需版本差異的完整清單,請參閱 Drive API v2 和 v3 的比較 參考資料。
如要繼續使用第 2 版,請參閱《Drive API v2 指南》修訂條款,瞭解第 3 版中的操作方法。 第 2 版開發人員的指南皆須經過修訂。
如要進一步瞭解 Drive API v3 改善項目,請觀看 Google 工程師的影片,探討新的 API 設計。
V3 改善項目
為提升效能並降低 API 行為複雜度,第 3 版提供了下列功能: 與舊版 API 相比的改善項目:
- 根據預設,檔案和共用雲端硬碟的搜尋內容不會傳回完整資源。
系統只會傳回一部分常用欄位如要進一步瞭解
fields
,請參閱files.list
方法 和drives.list
方法。 - 現在,傳回回應的所有方法現在都需要
fields
參數。如需所有需要fields
的方法清單,請參閱 Drive API 參考資料。 - 已移除特徵重複的資源。以下提供一些例子:
files.list
方法與Children
和Parents
集合,因此會從 v3 中移除。- 已移除
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
值。- Update 方法現在會拒絕指定無法寫入欄位的要求。
- 其中 v2
exportFormats
和importFormats
欄位about
資源是 支援的匯入或匯出格式。在第 3 版中,則是 MIME 類型對應 可能會指定套用至所有支援的匯入或匯出目標 - v2
appdata
和appfolder
別名現在在 v3 中為appDataFolder
。 properties
資源已從 v3 中移除。files
資源含有properties
欄位 包含真實鍵/值組合properties
欄位含有公開項目 ,且appProperties
欄位包含私有屬性,因此 則不需要顯示瀏覽權限欄位files
資源中的modifiedTime
欄位最後會更新 有人修改了檔案。在第 2 版中,modifiedDate
欄位只能變動 如果設定setModifiedDate
欄位的話,就會發生更新。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
)。