VSTS Node API - 无法使用Identities API

时间:2017-12-06 19:36:55

标签: node.js azure-devops azure-devops-extensions

我在使用VSTS Node Api时遇到了一些问题 - 特别是Identities API

我已经成功使用Git API来执行检索存储库列表等操作:

// From ./functions/functions.js
module.exports.getRepos = async function (vstsWebApi) {
  var gitApi = vstsWebApi.getGitApi();
  var repos = await gitApi.getRepositories();
  return repos;
}

然后,在其他地方,以下工作按预期工作,代表Git存储库的对象将记录到控制台:

let funcs = require("./functions/functions.js");
let vsts = require("vso-node-api");
let accessTokenPromise = VSS.getAccessToken();

accessTokenPromise.then(token => {
  let bearerHandler = vsts.getBearerHandler(token.token);
  let collectionUri = VSS.getWebContext().collection.uri;
  let connect = new vsts.WebApi(collectionUri, bearerHandler);
  let apiCallPromise = funcs.getRepos(connect);
  apiCallPromise.then(
    result => {
      console.log(result);
    }
  )
})

但是,如果我尝试执行类似操作并使用Identities API到listGroups

module.exports.getGroups = async function (vstsWebApi) {
  var identitiesApi = vstsWebApi.getIdentitiesApi();
  var groups = await identitiesApi.listGroups();
  return groups;
}

将承诺更改为getGroups而不是getRepos ...

...
let apiCallPromise= funcs.getGroups(connect);
apiCallPromise.then(
  result => {
    console.log(result);
  }
...

...我收到此错误:

Error: Failed to find api location for area: IMS id: 5966283b-4196-4d57-9211-1b68f41ec1c2

我在我的个人VSTS帐户上尝试此操作,因此我应该是所有者/管理员 - 如果我的访问权限因权限问题而被拒绝,我预计会出现其他错误。我已经为collectionUri尝试了不同的值,比如包括项目名称(my-account.visualstudio.com/ProjectABC),但这也不起作用。我还尝试了其他Identities API调用,例如getSelf,结果相同。

1 个答案:

答案 0 :(得分:1)

我在此提交反馈:Identities API in VSTS-Node-API preview version,您可以投票并关注它。