使用TFS Git Rest api检索树的麻烦

时间:2016-04-18 16:58:27

标签: git rest tfs tfs2015

我在使用TFS Rest API for Git检索树时遇到问题。

相关代码是

$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Accept", 'application/zip')
$DownloadTreeCmd = "http://tfs.mycompany.com:8080/tfs/myCollection/_apis/git/repositories/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx/trees/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx?api-version=1.0&filename=TempDownload.zip&recursive=1" 

$nresp = Invoke-RestMethod $DownloadTreeCmd -UseDefaultCredentials -Headers $headers

我最终得到了一些我无法读懂的东西。我已经尝试将其写入文件,但它不被识别为zip文件。我可以看到我的数据似乎是二进制数据。

我应该如何处理这些数据。

1 个答案:

答案 0 :(得分:0)

它正在运作,但我无法解释它之前为什么不起作用。

我让这个工作,但我不确定我理解这一点。 uri上的filename参数似乎没有做任何事情。返回的对象无法保存到.zip类型的文件中(实际上您可以保存它,但zip不会将其识别为存档)。

为了完成这项工作,我只是从uri请求中删除了文件名,并将-OutFile xxxx.zip添加到Invoke-RestMethod cmdlet。