2013-06-12 28 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。 –