Agregar datos personalizados a usuarios mediante extensiones abiertas

En este tutorial, se inclina cómo usar extensiones abiertas.

Imagine que está creando una aplicación que está disponible en varias plataformas cliente, como escritorio y dispositivos móviles. Quiere permitir que los usuarios configuren su experiencia de interfaz de usuario para que sea coherente independientemente del dispositivo que usen para iniciar sesión en la aplicación.

En este escenario, en este artículo se muestra cómo:

  • Represente información de perfil móvil sobre el usuario mediante extensiones abiertas.
  • Realizar una consulta al usuario y devolver el perfil móvil.
  • Cambie la información de perfil móvil del usuario almacenada en la extensión abierta.
  • Eliminar la información de perfil móvil del usuario.

Nota:

Además de los usuarios, también se admiten extensiones abiertas y se pueden administrar para otros tipos de recursos.

Requisitos previos

Para reproducir los pasos de este artículo, necesita los siguientes privilegios:

  • Inicie sesión en un cliente de API, como Graph Explorer y el usuario para el que desea almacenar el perfil móvil.
  • Conceda a la aplicación el permiso delegado User.ReadWrite para el usuario que ha iniciado sesión.

Paso 1. Agregar información de perfil móvil

El usuario inicia sesión en la aplicación y configura su apariencia. La configuración de la aplicación debe ser móvil para que el usuario reciba la misma experiencia en cualquier dispositivo desde el que inicie sesión en la aplicación. La aplicación llama a Microsoft Graph mediante la ejecución de la siguiente solicitud para agregar la información del perfil móvil al objeto de recurso del usuario que ha iniciado sesión.

Solicitud

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"
}

Respuesta

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"
}

Paso 2. Recuperar información de perfil móvil

Cuando el usuario inicia sesión en la aplicación desde otro dispositivo, la aplicación llama a Microsoft Graph para recuperar los detalles del perfil del usuario y expandir la propiedad de navegación extensiones para obtener su configuración de itinerancia y, a continuación, usa estos datos para proporcionar la misma experiencia que en el otro dispositivo.

Solicitud

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

Respuesta

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"
        }
    ]
}

Paso 3. Cambio de la información del perfil móvil

El usuario puede optar por cambiar la información de su perfil móvil. La aplicación llama a Microsoft Graph mediante la ejecución de la consulta siguiente. La solicitud devuelve un código de respuesta 204 No Content.

También debe incluir todas las propiedades en el cuerpo de la solicitud, incluso si desea actualizar solo un subconjunto de ellas. De lo contrario, Microsoft Graph quita las propiedades que no se pasan. Para eliminar datos, pero mantener una propiedad, establezca el valor nullde propiedad en .

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

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

Paso 4. Eliminación del perfil móvil de un usuario

El usuario decide que ya no quiere un perfil móvil. Para eliminar la propiedad de extensión, la aplicación llama a Microsoft Graph mediante la ejecución de la siguiente solicitud. La solicitud devuelve un código de respuesta 204 No Content.

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