2013-06-12 82 views
0

我首先使用box api GetVersions(File)來獲取文件的所有版本。現在如果有任何以前的版本,我想下載這些版本。我想通過只給出版本colloection中返回的文件ID,我可以檢索舊文件。但我收到一個異常「404找不到」。沒有辦法下載文件的舊版本?我們不能使用Box api下載舊版本的文件嗎?

+0

您可以指定SDK你使用的是什麼? – seanrose

+0

box-csharp-sdk-v2。 https://github.com/jhoerr/box-csharp-sdk-v2 –

回答

1

版本集合中返回的ID是版本ID,而不是文件ID。你可以知道,因爲JSON對象的typefile_version

調用的結果得到使用V2 API文件版本看起來是這樣的:

GET https://api.box.com/files/12345/versions 

{ 
    "total_count": 1, 
    "entries": [ 
     { 
      "type": "file_version", 
      "id": "286582", 
      "sha1": "286c42a2b9dabb536c87b1a88a6842117bfb37ab", 
      "name": "This is a file.txt", 
      "size": 6, 
      "created_at": "2012-10-12T16:06:49-07:00", 
      "modified_at": "2013-02-13T05:28:02-08:00", 
      "modified_by": { 
       "type": "user", 
       "id": "XXXXXX", 
       "name": "XXXXX", 
       "login": "[email protected]" 
      } 
     } 
    ] 
} 

的版本端點只列出了一個文件的以前版本。要下載最新版本,你可以這樣做:

GET https://api.box.com/files/12345/content

要下載文件的先前版本,通過version查詢字符串參數與版本ID作爲其值。在上面的例子中,下載這個版本做:

GET https://api.box.com/files/12345/content?version=286582

+0

謝謝瑞安。我應該注意到對象類型是file_version。我正在通過https://github.com/jhoerr/box-csharp-sdk-v2。我看不到任何可以下載以前版本的文件的API。 https://github.com/jhoerr/box-csharp-sdk-v2/blob/master/BoxApi.V2/BoxManager.File.cs。 –