首页 > 解决方案 > 使用 PAT(个人访问令牌)调用 TFS 服务器 REST API 时出现错误 TF401444

问题描述

我在 TFS Server 2017(本地,不是 VSTS)中为我的用户帐户创建了一个 PAT 令牌。使用 Postman,我尝试使用 Basic Auth 调用以下 REST API:

获取 http://{server:port}/tfs/DefaultCollection/_apis/projects?api-version=1.0

作为回应,我收到以下错误:

TF401444:请在 Web 浏览器中以 {Well Known SID for my user account} 身份至少登录一次以启用对服务的访问。- 微软团队基础服务器

我尝试在 Chrome 中打开相同的 URL 并尝试使用 PAT 登录,但没有成功(登录未完成)。关于我在这里缺少什么的任何建议?

TFS 似乎正在识别 PAT 令牌,因为如果我撤销它,我会收到不同的错误。

标签: tfsazure-devops-rest-apiazure-devops-servertfs-2017

解决方案


这里的问题是在 URI 中使用了“DefaultCollection”。我对 TFS 实例中的默认项目集合没有权限,需要将“DefaultCollection”替换为我确实有权访问的集合的名称。

现在看起来很明显,但文档没有明确说明这是 URI 的可变部分,所以我假设 API 始终作为 DefaultCollection 的一部分托管。


推荐阅读