Adicionar dados personalizados aos usuários usando extensões abertas

Neste tutorial, você enxuta como usar extensões abertas.

Imagine que você está criando um aplicativo que está disponível em várias plataformas de cliente, como área de trabalho e móvel. Você deseja permitir que os usuários configurem sua experiência de interface do usuário para que seja consistente, não importa qual dispositivo eles usem para entrar em seu aplicativo.

Para este cenário, este artigo mostra como:

  • Represente algumas informações de perfil roaming sobre o usuário usando extensões abertas.
  • Consultar o usuário e retornar o perfil móvel.
  • Altere as informações de perfil de roaming do usuário armazenadas na extensão aberta.
  • Excluir informações do perfil móvel do usuário.

Observação

Além dos usuários, também há suporte para extensões abertas e podem ser gerenciadas para outros tipos de recursos.

Pré-requisitos

Para reproduzir as etapas deste artigo, você precisa dos seguintes privilégios:

  • Entre em um cliente de API, como o Graph Explorer e o usuário para o qual você deseja armazenar o perfil de roaming.
  • Conceda ao aplicativo a permissão delegada User.ReadWrite para o usuário conectado.

Etapa 1. Adicionar informações de perfil roaming

O usuário entra no aplicativo e configura a aparência do aplicativo. Essas configurações de aplicativo devem transitar para que o usuário obtenha a mesma experiência em praticamente qualquer dispositivo usado para entrar no aplicativo. O aplicativo chama o Microsoft Graph executando a solicitação a seguir para adicionar as informações de perfil roaming ao objeto de recurso do usuário conectado.

Solicitação

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

Resposta

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

Etapa 2. Recuperar informações de perfil roaming

Quando o usuário entra no aplicativo de outro dispositivo, o aplicativo chama o Microsoft Graph para recuperar os detalhes do perfil do usuário e expandir a propriedade de navegação de extensões para obter suas configurações de roaming, em seguida, usa esses dados para fornecer a mesma experiência que no outro dispositivo.

Solicitação

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

Resposta

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

Etapa 3. Alterar informações de perfil roaming

O usuário pode optar por alterar suas informações de perfil roaming. O aplicativo chama o Microsoft Graph executando a consulta a seguir. A solicitação retorna o código de resposta 204 No Content.

Você também deve incluir todas as propriedades no corpo da solicitação, mesmo que queira atualizar apenas um subconjunto delas. Caso contrário, o Microsoft Graph remove as propriedades que você não passa. Para excluir dados, mas manter uma propriedade, defina o valor da propriedade como null.

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

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

Etapa 4. Excluir o perfil de roaming de um usuário

O usuário decide que não deseja mais um perfil de roaming. Para excluir a propriedade de extensão, o aplicativo chama o Microsoft Graph executando a solicitação a seguir. A solicitação retorna o código de resposta 204 No Content.

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