2014-01-22 44 views
1

(我對web開發很新,所以請原諒任何公然的無知)Box文件下載需要file_id嗎?

我在想爲什麼Box的API需要file_id爲downloading a file

在他們的Getting started指南中,我們看到他們首先上傳文件,獲取上傳文件的file_id,然後使用GET請求中的文件下載文件。

但是,爲什麼沒有辦法按名稱下載文件?即通過來自頂層框目錄的路徑?

對於上下文,我只是玩盒Box API,並試圖看看我是否可以從我的遠程盒目錄下載文件到某個本地目錄。

回答

2

如果您的主要世界是單個用戶的文件集,則按名稱下載文件效果不錯。但是在Box中,通常最終會有幾個人,或幾十個人,或幾百個人都可以訪問目錄結構和文件。

按名稱下載的問題在於,John在節目管理中決定在整個週末中該項目已經成長,或者您已完成需求收集階段,並且保持所有文檔都有組織地創建一個新的子文件夾,並在那裏移動東西。哦,他會重命名項目文件夾,因爲團隊決定使用一個新的代碼名稱。

如果您嘗試通過路徑或文件名下載文件,該文件會突然不是您知道從何處獲得它的地方,而且您會很困惑。或者至少是你想要檢查該文件的任何軟件。當文件(和文件夾)都具有不變的固定ID時,約翰做了大規模的重組並不重要。如果您創建了一個帶有該文檔鏈接的wiki頁面,或者您編寫了一些程序將內容從存儲在John文件夾中的電子表格中提取出來,那麼您的程序仍然可以工作。文件ID保持不變,即使其他人移動,重命名或上載文件的新版本。

+0

Box API也應該能夠處理上傳/下載文件夾或文件的路徑。我們爲每個被鎖定的業務單位設置了一組文件夾。我們也有3個不同的環境(Dev,Test和Prod)。沒有基於路徑的API調用,我必須在我的數據庫中存儲Box文件夾ID。如果我拉回Prod db來測試,猜猜看是什麼?所有的ID都是錯的。而如果API處理路徑,我可以將根路徑放在web.config中,並將NOTHING存儲在數據庫中,或者我可以擊敗Box服務器從根目錄中走出文件夾結構。 –

+0

由於我的應用程序僅通過文件名向Box端點發送和檢索文件,因此必須有一些系統範圍設置才能將文件名設置爲唯一。如果我嘗試放入一個已經存在的文件名,Box會迴應一個錯誤。 – aaronbauman