我正在尝试使用 API 获取 TFS 2012 中特定用户的电子邮件地址。我在个人资料部分设置了用户首选电子邮件地址。我在网上做了很多搜索,并有以下代码。
var userId = "myUserId";
var collection = new TfsTeamProjectCollection(tfsUri, tfsCerd);
var managementService = collection.GetService<IIdentityManagementService>();
var member =
managementService
.ReadIdentity(
IdentitySearchFactor.AccountName,
userId,
MembershipQuery.Direct,
ReadIdentityOptions.ExtendedProperties);
var emailAddress = member.GetAttribute("Mail", null)
这段代码既是成功的,也是失败的。成功检索到指定用户为成功;但是,问题是电子邮件属性为空。当我分析成员变量时,我注意到那里列出了“邮件”属性并且它是空的。然后我注意到还有另外两个名为“ConfirmedNotificationAddress”和“CustomNotificationAddress”的属性,其中有我的首选电子邮件地址。
我想知道为什么我似乎无法使用首选电子邮件地址正确加载“邮件”变量,因为我需要此代码才能在很多人的服务器上工作。