Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Le Blog (Vert) d'Arnaud JUND

Bienvenue sur mon éco blog

Actualités

Exchange Online et Exchange Web Services Managed API 1.1

Exchange 2007 SP1, 2010 et 2010 SP1 fournissent un ensemble de web services qui permettent de manipuler des informations de manière distante.  Il en va de même pour Exchange Online qui est construit sur Exchange 2007 SP1 actuellement.  Ces services web étant complexes à manipuler,  Microsoft a fourni une interface permettant de s'interconnecter plus facilement avec ces services web d'Exchange,  Exchange Web Services Managed API 1.1

Quelques ressources sur Exchange Web Services Managed API 1.1
 
http://msdn.microsoft.com/en-us/library/dd633709(v=EXCHG.80).aspx

Une fois l'API téléchargée et installée, vous pourrez référencer dans vos projets .Net l'assembly suivante : Microsoft.Exchange.WebServices.dll


Référencement et utilisation de l'assembly

L'API se compose d'une assembly unique, Microsoft.Exchange.WebServices.dll,  et elle est accompagnée d' un fichier XML qui fournit l'IntelliSense dans Visual Studio, Microsoft.Exchange.WebServices.xml.

Ces deux fichiers doivent être positionnés dans le dossier de votre choix.  Puis, à partir de votre projet Microsoft Visual Studio, ajouter une référence à Microsoft.Exchange.WebServices.dll, et ajouter une clause "using"  sur l'espace de noms Microsoft.Exchange.WebServices.Data


Se connecter aux services web d'Exchange Online via l'API

using Microsoft.Exchange.WebServices.Data;

//Création et instanciation d'un objet ExchangeService, attention que Exchange Online est un Exchange 2007 SP1
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);

//On passe les paramètres d'authentification, via Exchange Online il n'y a pas de domaine
service.Credentials = new NetworkCredential(userAccount, password);

//On positionne l'url des services web
service.Url = new Uri("
https://red002.mail.emea.microsoftonline.com/ews/exchange.asmx");

//On définit une méthode de CallBack pour valider le certificat utilisé par Exchange Online
ServicePointManager.ServerCertificateValidationCallback = CertificateValidationCallBack;


Pour l'url des web services d'Exchange, il faut distinguer trois url possibles :
    - Asia Pacific (APAC)
https://red003.mail.apac.microsoftonline.com
    - Europe, the Middle East, and Africa (EMEA)
https://red002.mail.emea.microsoftonline.com
    - North America
https://red001.mail.microsoftonline.com

Il existe un moyen de ne pas positionner l'url manuellement, mais de passer par un service de découverte automatique :
service.AutodiscoverUrl("<your e-mail address>");

 

La méthode CallBack pour le certificat

private static bool CertificateValidationCallBack(object sender, System.Security.Cryptography.X509Certificates.X509Certificate certificate, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors)
{
            //Si le certificat est valide et signé , la méthode renvoi vrai.  Ce qui est le cas avec Exchange Online
            if (sslPolicyErrors == System.Net.Security.SslPolicyErrors.None)
            {
              return true;
            }
    else
    {
        return false;
    }
}

L'API fourni une hiérarchie de classes et d'objets, qui permettent de manipuler des éléments et des dossiers issus d'Exchange.
 
Pour plus d'informations à ce sujet, je vous invite à consulter les documents liés au SDK :
http://msdn.microsoft.com/en-us/library/dd633710(EXCHG.80).aspx 


Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: mardi 11 janvier 2011 19:15 par junarnoalg
Classé sous : ,

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01