Bonjour,

je réalise une application qui doit ajouter à exchange ses contactes, afin qu'il soit visible sur Outlook. Pour cela j'utilise EWS Managed API.
Jusque là aucun problème.

Mon problème intervient pour la visibilité des données dans le carnet d'adresse d'Outlook.

En remplissant tous les champs possible pour un contact depuis mon programme c# :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
 
Contact contact = new Contact(exchangeService);
      //Contact
      contact.AssistantName = "-Assistant Name-";
      contact.Birthday = DateTime.Today;
      contact.Body = "-body-";
      contact.BusinessHomePage = "-Buisness Home Page-";
      StringList sl = new StringList();
      sl.Add("-Categories1-");
      sl.Add("-Categories2-");
      contact.Categories = sl;
      sl = new StringList();
      sl.Add("-Children1-");
      sl.Add("-Children2-");
      contact.Children = sl;
      sl = new StringList();
      sl.Add("-Companies1-");
      sl.Add("-Companies2-");
      contact.Companies = sl;
      contact.CompanyName = "-CompanyName-";
      contact.Department = "-Department-";
      contact.DisplayName = "-DisplayName-";
      contact.EmailAddresses[EmailAddressKey.EmailAddress1] = "ImAddressKey@ImAddress1.fr";
      contact.EmailAddresses[EmailAddressKey.EmailAddress2] = "ImAddressKey2@ImAddress1.fr";
      contact.EmailAddresses[EmailAddressKey.EmailAddress3] = "ImAddressKey3@ImAddress1.fr";
      contact.Generation = "-generation-";
      contact.GivenName = "-GivenName-";
      contact.ImAddresses[ImAddressKey.ImAddress1] = "ImAddressKey@ImAddress1.fr";
      contact.ImAddresses[ImAddressKey.ImAddress2] = "ImAddressKey@ImAddress2.fr";
      contact.ImAddresses[ImAddressKey.ImAddress3] = "ImAddressKey@ImAddress3.fr";
      contact.Initials = "-Initial-";
      contact.InReplyTo = "-InReplyTo-";
      contact.JobTitle = "-JobTitle-";
      contact.Manager = "-Manager-";
      contact.MiddleName = "-MiddleName";
      contact.Mileage = "-Mileage-";
      contact.NickName = "-Nickname-";
 
      contact.OfficeLocation = "-Officelocation-";
      contact.PhoneNumbers[PhoneNumberKey.BusinessPhone] = "-PhoneNumberKey.BusinessPhone-";
      contact.PhoneNumbers[PhoneNumberKey.MobilePhone] = "-PhoneNumberKey.MobilePhone-";
      contact.PhoneNumbers[PhoneNumberKey.BusinessFax] = "-PhoneNumberKey.BusinessFax-";
      PhysicalAddressEntry paEntry1 = new PhysicalAddressEntry();
      paEntry1.Street = "-streetHome-";
      paEntry1.City = "-cityHome-";
      paEntry1.PostalCode = "-PostalCodeHome-";
      paEntry1.CountryOrRegion = "-CountryRegionHome-";
      paEntry1.State = "-stateHome-";
      PhysicalAddressEntry paEntry2 = new PhysicalAddressEntry();
      paEntry2.Street = "-streetBusiness-";
      paEntry2.City = "-cityBusiness-";
      paEntry2.PostalCode = "-PostalCodeBusiness-";
      paEntry2.CountryOrRegion = "-CountryRegionBusiness-";
      paEntry2.State = "-stateBusiness-";
      PhysicalAddressEntry paEntry3 = new PhysicalAddressEntry();
      paEntry3.Street = "-streetOther-";
      paEntry3.City = "-cityOther-";
      paEntry3.PostalCode = "-PostalCodeOther-";
      paEntry3.CountryOrRegion = "-CountryRegionOther-";
      paEntry3.State = "-stateOther-";
      contact.PhysicalAddresses[PhysicalAddressKey.Home] = paEntry1;
      contact.PhysicalAddresses[PhysicalAddressKey.Business] = paEntry2;
      contact.PhysicalAddresses[PhysicalAddressKey.Other] = paEntry3;
      contact.Profession = "-profession-";
      contact.SpouseName = "-SpouseName-";
      contact.Subject = "-Subject-";
      contact.Surname = "-Surname-";
      contact.WeddingAnniversary = DateTime.UtcNow;
 
 
      contact.Save();
J'obtiens bien une fiche dans la liste des contacts mais 4 dans le carnet d'adresse avec l'adresse de messagerie vide :




Le fait d'ouvrir la fiche et de la refermer en refusant la sauvegarde me fait bien le bonne affichage :


Ma question est comment arrivé à ce que les emails s'affichent (comme pour le fax ) sans avoir à ouvrir les 3000 contacts qui seront importés?

je n'ai trouvé pratiquement aucune aide/doc/tuto/exemple sur EWS managed API excepté celle de MSND qui est vraiment incomplète.
Donc si vous en avez je suis preneur.

Merci pour votre aide

Anthony