Angular & Microsoft Graph [Part 1]

Comme beaucoup d'entre vous, je suis développeur/architecte/maitre du monde indépendant qui facture ses interventions à la journée, voire à la demi-journée.

Toutes les fins de mois, je dois donc faire mes factures auprès de mes fortunés clients pour leur envoyer ma modeste facture.

J'avoue n'avoir par 250 000 clients en même temps et donc jusqu'à présent, je gérais cela "à la main".

Avec Office365, il m'est venu l'idée d'exploiter la plateforme afin de gérer ces interventions. L'idée est de créer une application 100% Angular (donc cliente) avec comme unique backend Office365.

Bonne nouvelle, Microsoft propose des interfaces REST des données stockées dans Office365 via Microsoft Graph.

Grâce à cette application, nous allons voir comment se connecter à Microsoft Graph, récupérer/ajouter des rendez-vous dans un calendrier Outlook, enregistrer/lire des fichiers dans OneDrive, etc.

Régardons à quoi l'application ressemble :

Créer son application Office365

La première étape consiste à référencer notre application web auprès d'Office365. Rendez-vous donc sur le site de Microsoft et identifiez-vous : https://developer.microsoft.com/en-us/graph

Puis allez dans my apps :

Dans la catégorie Applications convergentes, cliquez sur Ajouter une application.

C'est là que vous allez gérer ce qui sera accessible potentiellement pour votre application. Outre son nom, vous devrez renseigner les autorisations pour Microsoft Graph et le type de plateforme (le reste est pas très important pour l'instant). Donc ajoutez une platerofme de type Web :

Le paramétrage d'une plateforme de type Web demande de définir (au moins) l'URL de redirection. Nous allons en définir 2 :

  • http://localhost:4200/callback pour nos tests de développement,
  • https://www.mytjm.fr/callback pour la mise en production.

NB : l'URL de redirection demande maintenant d'être hébergée obligatoirement sur un site sécurisé de type https.

Nous verrons dans l'article suivant comment fonctionne concrêtement l'identification et les autorisations MS Graph.

Côté autorisation, comme notre application va gérer les calendriers Outlook, gérer des fichiers dans OneDrive, lire des informations sur l'utilisateur et éventuellement envoyer un email, j'ai donc le paramétrage suivant :

Sauvegardez le tout et voila, votre application est bien définie, paramétrée dans Office365.

Remarque importante : tout en bas de cette page, vous avez la possibilité de voir le contenu du manifeste générée par cette page. C'est un fichier json et vous pouvez l'éditer. La seule chose que vous devrez vérifier, c'est si les 2 paramètres oauth2AllowIdTokenImplicitFlow et oauth2AllowImplicitFlow sont bien à true :

blog comments powered by Disqus