Ajout de données personnalisées à des utilisateurs à l’aide des extensions d’ouverture

Dans ce tutoriel, vous allez vous pencher sur l’utilisation des extensions ouvertes.

Imaginez que vous créez une application disponible sur plusieurs plateformes clientes, telles que les ordinateurs de bureau et les appareils mobiles. Vous souhaitez permettre aux utilisateurs de configurer leur expérience d’interface utilisateur afin qu’elle soit cohérente, quel que soit l’appareil qu’ils utilisent pour se connecter à votre application.

Pour ce scénario, cet article vous montre comment :

  • Représentez des informations de profil itinérant sur l’utilisateur à l’aide d’extensions ouvertes.
  • Interroger l’utilisateur et renvoyer le profil d’itinérance.
  • Modifiez les informations de profil itinérant de l’utilisateur stockées dans l’extension ouverte.
  • Supprimer les informations de profil d’itinérance de l’utilisateur.

Remarque

Outre les utilisateurs, les extensions ouvertes sont également prises en charge et peuvent être gérées pour d’autres types de ressources.

Configuration requise

Pour reproduire les étapes décrites dans cet article, vous avez besoin des privilèges suivants :

  • Connectez-vous à un client API tel que Graph Explorer et à l’utilisateur pour lequel vous souhaitez stocker le profil itinérant.
  • Accordez à l’application l’autorisation déléguée User.ReadWrite pour l’utilisateur connecté.

Étape 1. Ajouter des informations de profil itinérant

L’utilisateur se connecte à l’application et configure l’apparence de l’application. Ces paramètres d’application doivent être itinérants afin de garantir la même expérience à l’utilisateur sur n’importe quel appareil utilisé pour se connecter à l’application. L’application appelle Microsoft Graph en exécutant la requête suivante pour ajouter les informations de profil itinérant à l’objet de ressource de l’utilisateur connecté.

Demande

POST https://graph.microsoft.com/v1.0/me/extensions
Content-type: application/json

{
    "@odata.type":"microsoft.graph.openTypeExtension",
    "extensionName":"com.contoso.roamingSettings",
    "theme":"dark",
    "color":"purple",
    "lang":"Japanese"
}

Réponse

HTTP/1.1 201 Created
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('376bdbfc-e41f-4082-a8cf-b31731465eeb')/extensions/$entity",
    "@odata.type": "#microsoft.graph.openTypeExtension",
    "extensionName": "com.contoso.roamingSettings",
    "theme": "dark",
    "color": "purple",
    "lang": "Japanese",
    "id": "com.contoso.roamingSettings"
}

Étape 2. Récupérer les informations de profil itinérant

Lorsque l’utilisateur se connecte à l’application à partir d’un autre appareil, l’application appelle Microsoft Graph pour récupérer les détails du profil de l’utilisateur et développer la propriété de navigation des extensions pour obtenir ses paramètres d’itinérance, puis utilise ces données pour fournir la même expérience que sur l’autre appareil.

Demande

GET https://graph.microsoft.com/v1.0/me?$select=id,displayName,mail,mobilePhone&$expand=extensions

Réponse

HTTP/1.1 200 OK
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(id,displayName,mail,mobilePhone,extensions())/$entity",
    "@microsoft.graph.tips": "Use $select to choose only the properties your app needs, as this can lead to performance improvements. For example: GET me?$select=signInActivity,accountEnabled",
    "id": "376bdbfc-e41f-4082-a8cf-b31731465eeb",
    "displayName": "Raul Razo",
    "mail": null,
    "mobilePhone": null,
    "extensions@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('376bdbfc-e41f-4082-a8cf-b31731465eeb')/extensions",
    "extensions": [
        {
            "@odata.type": "#microsoft.graph.openTypeExtension",
            "extensionName": "com.contoso.roamingSettings",
            "theme": "dark",
            "color": "purple",
            "lang": "Japanese",
            "id": "com.contoso.roamingSettings"
        }
    ]
}

Étape 3. Modifier les informations du profil d’itinérance

L’utilisateur peut choisir de modifier ses informations de profil d’itinérance. L’application appelle Microsoft Graph en exécutant la requête suivante. La requête retourne un code de réponse 204 No Content .

Vous devez également inclure toutes les propriétés dans le corps de la demande, même si vous souhaitez mettre à jour uniquement un sous-ensemble d’entre elles. Sinon, Microsoft Graph supprime les propriétés que vous ne transmettez pas. Pour supprimer des données tout en conservant une propriété, définissez la valeur de la propriété sur null.

PATCH https://graph.microsoft.com/v1.0/me/extensions/com.contoso.roamingSettings
Content-type: application/json

{
    "theme":"light",
    "color":"yellow",
    "lang":"Swahili"
}

Étape 4. Supprimer le profil itinérant d’un utilisateur

L’utilisateur décide qu’il ne veut plus d’un profil itinérant. Pour supprimer la propriété d’extension, l’application appelle Microsoft Graph en exécutant la requête suivante. La requête retourne un code de réponse 204 No Content .

DELETE https://graph.microsoft.com/v1.0/me/extensions/com.contoso.roamingSettings