visual studio online rest api有一个休息调用,可以下载TFVC存储库中文件的内容。我想下载所有TFVC存储库的最新版本,以便对我们所有项目进行内部部署备份。
除了一种类型的文件外,这个APi工作得很好:web.config。当我想下载web.config文件时,我得到404状态代码。所有其他文件类型(也是log4net.config和web.release.config)正确下载,我也得到202。我有正确的权限下载文件,文件也存在。
我使用此处记录的api:https://www.visualstudio.com/integrate/api/tfvc/items#Getafile
如您所见,存储库中文件的路径是URL的一部分。我认为使用这种语法,Visual Studio Online的默认安全性来自web.config等文件。在例如IIS下载的web.config文件也被禁用。对于我们的git存储库,这没有问题,因为api不包含url中文件的路径,而是作为url的参数。
有解决方法吗?一个没有记录的功能?
当我看到此文档https://www.visualstudio.com/integrate/api/tfvc/items#Getaspecificversion时,它会提到:
您可以指明获取文件时获得的版本,压缩文件夹或获取项目元数据。
zip文件夹部分尚未记录。你们中的任何人都知道如何调用api的那部分吗?这对我来说也是一种解决方法。
答案 0 :(得分:0)
当您将路径用作查询参数
时,现在可以使用此功能由于默认的ASP .NET保护,此格式应用于某些文件(如web.config),这些文件无法通过将路径用作URL的一部分来访问。响应是包含文件内容的流(application / octet-stream)。
http://fabrikam-fiber-inc.visualstudio.com/defaultcollection/_apis/tfvc/items?path=$/fabrikam-fiber-tfvc/website/website/web.config&api-version={version}
以上引用来自添加此文档后的文档:https://www.visualstudio.com/integrate/api/tfvc/items#Getafile。