Pré-requis
Pour parvenir à récupérer et/ou envoyer depuis les applications de Microsoft 365 comme Teams, SharePoint, Insights et plein d'autres... nous allons devoir suivre une certaine configuration au sein de notre plateforme Azure.
Tout d'abord, il est essentiel d'être en possession d'un environnement Office 365. Dans cet exemple nous utiliserons l'environnement Azure de Mediawind.
Dans l'AAD (Azure Active Directory), rendez-vous dans:
"Applications d'entreprise" ➔ "Gérer" ➔ "Toutes les applications"

Cette liste reprend toutes les applications de notre AAD. Comme nous pouvons le voir, il y a une application GreenPlayer Meeting dans la liste ... C'est celle qui nous intéresse !
Cliquez sur l'application, ensuite "Sécurité" ➔ "Autorisations"
Et vous obtenez une liste d'autorisations comme celle ci dessous. Ces autorisations représentent les accès auxquels nous avons droit lorsque nous utilisons Graph Api.

Ces autorisations s'activent et se désactivent par le biais d'un compte Administrateur Azure.
Dans le cas de module Meeting, nous aurons besoin de plusieurs d'entre elles ...
-
User.Read (lis les données de l'utilisateur connecté)
-
User.Read.All (lis les données de n'importe quel user de l'application)
-
openid (permet la connexion)
-
profile (permet la récupération du profile)
Et surtout ...
-
Presence.Read (lis le status Teams de l'utilisateur connecté)
-
Presence.Read.All (lis les status Teams de tous les utilisateurs de notre organisation)
Comment ajouter ces permissions ?
Toujours dans la page des autorisations, cliquez sur l'Inscription d'application
Une fois sur cette page vous pouvez ajouter les autorisations souhaitées.
ATTENTION !
Ajoutez les permissions avec précaution! Chaque permission a un "certain pouvoir" sur les données de votre application, et certaines d'entres elles peuvent grandement exposer les données. Donc, se renseigner avant d'ajouter celles ci !
Ajouter ou supprimer des permissions peut avoir un impact significatif sur les applications de l'organisation.
De plus, seul un utilisateur Admin pourra ajouter les permissions.
Quel lien entre le module Meeting et ces autorisations ?
Il est possible de lier votre compte Office365 avec votre module Meeting.
Rendez-vous dans "Administration" ➔ "Office 365" , cliquez ensuite pour vous connecter.
Lors de cette opération, Meeting va effectuer un appel à Graph pour obtenir des credentials qui seront insérés dans la table "modules_meeting_graph".

Dans la table se situe votre access_token, un token JWT qui reprend toutes les informations dont Graph a besoin pour vous identifier, ainsi que les permissions mentionnées plus haut.
Et dans la colonne "scope" nous voyons les permissions accordées pour notre user, il devrait normalement il y avoit les deux scopes "Presence.Read" et "Presence.Read.All".
A chaque connexion un nouvel appel est effectué vers Graph et donc le token est de nouveau inséré en DB