【发布时间】:2017-08-10 18:16:58
【问题描述】:
背景:
我正在开发一个 C# 控制台应用程序,该应用程序使用 Exchange Web 服务 (EWS) 为 11 个用户创建和/或更新 Outlook 联系人。
应用程序需要模拟这 11 位用户才能正确创建/更新他们各自的 Outlook 联系人。
该应用程序有一个专用的[ServiceAccount],他恰好是ApplicationImpersonation 管理员角色的成员。
问题:
我正在启动应用程序并且它运行正常。
- 它为 User1 创建了 223 个新联系人。
- 它为 User2 创建了 117 个新联系人。
- 等等...直到到达 User11。
为了验证一切正常,我导航到 Office 365 并登录到 User1 的帐户(使用他的凭据),我可以看到 223 个新创建的联系人。
我很高兴,我退出了。
第二天,我做的第一件事是登录 User1 的帐户(使用他的凭据),我不再看到 223 个联系人,而是看到 7 个联系人。
由于未知原因,216 个联系人已从 User1 的联系人中完全消失。
我查看了用户 1 的已删除项目,我在其中看到了这 216 个联系人...
结论:
人们如何开始对此进行调查?我不是 Exchange 专家。
这是我用来创建联系人的代码
private void AddNewOutlookContacts(IEnumerable<Person> contactsToCreate, string emailToImpersonify)
{
var service = new ExchangeService(ExchangeVersion.Exchange2013);
service.Credentials = new NetworkCredential(_serviceAccount, _serviceAccountPwd, _domain);
service.Url = new Uri(_office365ExchangeUrl);
service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, emailToImpersonify);
Collection<Contact> contactItems = new Collection<Contact>();
foreach (var c in contactsToCreate)
{
Contact newContact = new Contact(service);
newContact.GivenName = c.FirstName;
newContact.MiddleName = c.LastName;
newContact.FileAsMapping = FileAsMapping.SurnameCommaGivenName;
newContact.DisplayName = string.Format("{0} {1}", c.FirstName, c.LastName);
newContact.PhoneNumbers[PhoneNumberKey.HomePhone] = c.HomePhone;
newContact.PhoneNumbers[PhoneNumberKey.BusinessPhone] = c.WorkPhone;
newContact.PhoneNumbers[PhoneNumberKey.MobilePhone] = c.CellPhone;
newContact.EmailAddresses[EmailAddressKey.EmailAddress1] = new EmailAddress(c.Email);
newContact.JobTitle = c.JobTitle;
contactItems.Add(newContact);
}
// Batch Create...
ServiceResponseCollection<ServiceResponse> response = service.CreateItems(contactItems, WellKnownFolderName.Contacts, null, null);
if (response.OverallResult == ServiceResult.Success)
{
Console.WriteLine("SUCCESS");
}
else
{
Console.WriteLine("FAILED");
}
}
没有任何代码可以删除联系人。
关于可能在 Exchange 上运行导致这些联系人自动消失的任何想法。
有没有我可以查看的日志文件?
任何可以帮助我阐明这一点的东西都会很棒!
最后一件事,所有这 11 位用户都发生了联系人的消失。
【问题讨论】:
标签: outlook office365 exchangewebservices