0

Quelqu'un peut-il me suggérer comment se connecter à Exchange Server 2010 (Accès client, Hub) et récupérer des contacts à partir du dossier Public. J'ai Exchange Server 2010 et Je dois me connecter à Exchange Server via mon application asp.net/C# et j'utilise EWS Managed API 2.0 pour connecter et récupérer des contacts de la base de données de dossiers publics Exchange 2010.Comment récupérer des champs de contacts personnalisés à partir de Dossier public à l'aide d'Exchange 2010 EWS 2.0

Les défis sont: Comment peut-on récupérer des champs de contact personnalisés en utilisant l'API SAP? Est-il possible d'obtenir et de récupérer des champs personnalisés déjà définis dans les contacts de la base de données de dossiers publics Exchange 2010.

Ce serait une grande aide si quelqu'un pouvait me suggérer comment récupérer des contacts & leurs champs personnalisés qui ne sont pas visibles sous forme de contact OWA du dossier public dans Exchange Server 2010.

Y at-il solution de contournement pour atteindre cette fonctionnalité ou toute autre méthode. S'il vous plaît me suggérer?

Merci.

Voici mon code:

string ExchangeContactFolder = Configuration.ExchangeContactFolder; 
Folder ContactFolder = GetTopLevelFolder(_service, ExchangeContactFolder); 
ItemView itemView = new ItemView(int.MaxValue); 
FindItemsResults<Item> searchResults = _service.FindItems(ContactFolder.Id, itemView); 
int totalContacts = searchResults.TotalCount; 

//Setting properties for Custom Fields. 
Guid FacebookGuid = new Guid("{a49b36f1-7895-4637-98ec-1ca35a345095}"); 
var FacebookAddress = new ExtendedPropertyDefinition(FacebookGuid, "Facebook", MapiPropertyType.String); 

itemView.PropertySet = new PropertySet(BasePropertySet.IdOnly); 
itemView.PropertySet.Add(FacebookAddress); 

FindItemsResults<Item> contactItems = _service.FindItems(ContactFolder.Id, view); 
       foreach (Item item in contactItems) 
       { 
        if (item is Contact) 
        { 
         string strFacebookAddress = string.Empty; 
       contact.GetLoadedPropertyDefinitions(); 
       //item.TryGetProperty(FacebookAddress, out strFacebookAddress); 
       contact.TryGetProperty(FacebookAddress, out strFacebookAddress); 
       strContacts.Add(bcSearch); 
        } 
       } 
      } 
      return strContacts; 
+0

Vous parlez de dossiers publics, mais votre code juste accède au dossier Contacts locaux? Est-ce que ça fonctionne? Demandez-vous comment accéder à un dossier public particulier? Mai essayer de poser votre question étape par étape dans ce cas –

+0

Salut @GlenScales, je suis en mesure de récupérer des contacts de dossier public comme mentionné dans le fichier de configuration, mais je suis en train de récupérer uniquement les champs de contacts Exchange 2010 par défaut. Je ne suis pas en mesure de récupérer les champs personnalisés de contact. Alors, comment puis-je récupérer des champs personnalisés à partir de contact? –

+0

Ce code que vous avez posté ne renverra pas les propriétés dans la boucle foreach parce que vous ne les avez pas demandées, par exemple vous avez défini et ItemView appelé itemView mais vous ne l'utilisez pas dans le second appel de méthode FindItems (en utilisant une variable appelée view). N'utilisez pas non plus int.Max Value que vous devez définir sur 1000 et afficher les résultats. Ma première suggestion est de nettoyer l'exemple que vous avez posté afin que vous ayez une recherche et une propertyset à utiliser. –

Répondre

0

Vous ne avez pas besoin de mettre votre GUID ne fonctionnera jamais

changement à

var FacebookAddress = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.PublicStrings, "Facebook", MapiPropertyType.String);