为什么 vsts-node-api 总是返回无效资源 - 401?



我正在尝试在我正在编写并尝试在本地tfs2017上使用的自定义构建任务中使用vsts-node-api包。 我利用了在 github 存储库中找到的一些示例代码,我发现它返回了无效资源的错误。 在VSCode中进行一些调试,然后将一些调试日志记录添加到其余代码中,我发现其余调用返回401。 获取 WebApi 后发生错误,然后尝试连接。

我尝试使用PAT处理程序和NtlmHandler,但没有运气。 如果我通过浏览器点击 URI,我成功返回 JSON。任何帮助将不胜感激。

export async function getWebApi(pwd:string): Promise<vm.WebApi> {
return new Promise<vm.WebApi>(async (resolve, reject) => {
try {
console.log("in the common getter");
let serverUrl = 'https://mylocalserver/tfs/mycollection';
let token = ' my PAT on the server, that has full access ';
let authHandler = vm.getPersonalAccessTokenHandler(token);      
let option = {
ignoreSslError: true
};

let vsts: vm.WebApi = new vm.WebApi(serverUrl, authHandler,options);
console.log("got web api?");
let connData: lim.ConnectionData = await vsts.connect();
console.log('Hello ' + connData.authenticatedUser.providerDisplayName);
resolve(vsts);
}
catch (err) {
console.log("error in get api " + err.message);
reject(err);
}
});

谢谢

看起来VSTFS团队的这种回应是要走的路。

TLDR; 为每个生成生成一个持有者 OAuth 令牌,以便与 VSTS 通信。

最新更新