当我从Microsoft.VisualStudio.Services.Client nuget包中调用IdentityHttpClient上的ReadIdentitiesAsync时:
using (var client = new IdentityHttpClient(baseUrl, credentials))
{
identities = await client.ReadIdentitiesAsync(IdentitySearchFilter.General, "user@company.com");
}
抛出此异常:
API资源位置28010c54-d0c0-4c89-a5b0-1c9e188b9fb7未在https://myaccount.visualstudio.com/上注册
我应该使用另一种吗?
答案 0 :(得分:1)
用于身份api的基本URL与其他api不同。
对于客户端库中的大多数客户端,请使用https://myaccount.visualstudio.com
对于身份客户端,请使用https://myaccount.vssps.visualstudio.com
答案 1 :(得分:0)
与VSTS一起使用时会出现相同的异常,但代码可以与内部部署的TFS服务器一起正常工作。
作为替代方式,您可以使用.NET client libraries API获取身份信息。
using System;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.Server;
namespace NetAPIID
{
class Program
{
static void Main(string[] args)
{
string url = "https://xxx.visualstudio.com";
TfsTeamProjectCollection ttpc = new TfsTeamProjectCollection(new Uri(url));
ttpc.EnsureAuthenticated();
IGroupSecurityService igss = ttpc.GetService<IGroupSecurityService>();
Identity id = igss.ReadIdentity(SearchFactor.AccountName, "user@company.com", QueryMembership.None);
}
}
}