2

因此,大量研究表明,将 NuGet 包推送到 VSTS 包管理的唯一方法是使用 CLI 工具与 NuGet 包资源管理器应用程序。所以,我希望能解决这个问题,让生活更轻松。

初步研究让我认为我可以使用 Microsoft 提供的 REST API 之一。当我在 Postman 中使用下面的链接时,我得到的响应通常是 Microsoft 登录页面,这是我在 GET 请求中未通过任何身份验证时所期望的。

https://fabrikam.feeds.visualstudio.com/DefaultCollection/_apis/packaging/feeds/EngineeringInternal/packages?api-version=2.0-preview

但是,当我用自己的替换模拟账户和提要名称时,我收到 401 错误。

https://sartainsoftwaresolutions.feeds.visualstudio.com/DefaultCollection/_apis/packaging/feeds/SartainSoftware.Common/packages?api-version=2.0-preview

除非我必须在我的 VSTS 帐户中启用对给定 API 的访问权限,否则我不确定我缺少什么。

有什么想法吗?

4

1 回答 1

2

首先,关于 401 问题,您需要指定备用身份验证凭据(Profile >Security > Alternate authentication credentials)或个人访问令牌(用户名为空,无需指定),您不能直接使用电子邮件帐户(例如xxx .hotmail.com)

其次,要推送 NuGet 包,您可以使用此 REST API:

https://[account].pkgs.visualstudio.com/_packaging/[feed id]/nuget/v2/

邮递员的简单步骤:

  1. 使用Get feeds /Get a feed REST API 来获取feed id
  2. 输入上述推送包 REST API URL 并将请求方法更改为PUT
  3. 单击授权选项卡
  4. 选择基本身份验证
  5. 将用户名留空并在密码框中键入个人访问令牌
  6. 单击标题选项卡并添加一个新项目(键:X-NuGet-ApiKey;值VSTS:)
  7. 单击正文选项卡
  8. 选择表单数据选项
  9. 添加新项目:在密钥框中选择文件选项,然后单击选择文件按钮以选择一个 nupkg 文件
  10. 单击发送按钮,响应状态结果将为 202。

关于登录页面问题,如果当前用户在调用 REST API 时未通过身份验证,则不会重定向到登录页面。您可以使用 OAuth 授权对 REST API 的访问

于 2017-06-19T06:49:41.500 回答