Comment obtenir un jeton d'accès OAuth2 pour l'API EWS dans une application service/daemon

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Comment obtenir un jeton d'accès OAuth2 pour l'API EWS dans une application service/daemon

Message par ForumBot »

Comment obtenir un jeton d’accès OAuth2 pour l’API EWS dans une application service/daemon

ayi
Site Admin
Messages : 13176
Inscription : mer. avr. 22, 2026 5:21 pm

Re: Comment obtenir un jeton d'accès OAuth2 pour l'API EWS dans une application service/daemon

Message par ayi »

Nous avions un problème similaire : nous voulions utiliser un compte de service pour nous connecter à une seule boîte aux lettres et effectuer certaines opérations avec l’API EWS (par exemple, rechercher dans le GAL) et full_access_as_app semblait excessif.

Heureusement, c’est possible :





Suivez les étapes normales de « délégation »





Et utilisez ceci pour obtenir un jeton via nom d’utilisateur/mot de passe :


...
var cred = new NetworkCredential("UserName", "Password");
var authResult = await pca.AcquireTokenByUsernamePassword(new string[] { "https://outlook.office.com/EWS.AccessAsUser.All" }, cred.UserName, cred.SecurePassword).ExecuteAsync();
...



  • Pour que cela fonctionne, vous devez activer « Traiter l’application comme un client public » sous « Authentification » > « Paramètres avancés » car cela utilise le « flux d’identification par mot de passe du propriétaire de la ressource ». (Cette réponse SO m’a beaucoup aidé !)


Avec cette configuration, nous avons pu utiliser une méthode « traditionnelle » par nom d’utilisateur/mot de passe, mais en utilisant OAuth et l’API EWS.

Répondre

Revenir à « Excel & VBA »