Compartilhar via


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

Neste tutorial, vai aprender a utilizar extensões abertas.

Imagine que está a criar uma aplicação que está disponível em várias plataformas cliente, como o ambiente de trabalho e o dispositivo móvel. Quer que os utilizadores da aplicação configurem a respetiva experiência de IU para que seja consistente independentemente do dispositivo que utilizem para iniciar sessão.

Para este cenário, este artigo mostra-lhe como:

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

Observação

Além dos utilizadores, as extensões abertas também são suportadas e podem ser geridas para outros tipos de recursos.

Pré-requisitos

Para reproduzir os passos neste artigo, precisa dos seguintes privilégios:

  • Inicie sessão num cliente de API, como o Graph Explorer como o utilizador para o qual pretende armazenar o perfil de roaming.
  • Conceda à aplicação a permissão delegada User.ReadWrite para o utilizador com sessão iniciada.

Etapa 1. Adicionar informações de perfil itinerante

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. A aplicação chama o Microsoft Graph ao executar o seguinte pedido para adicionar as informações de perfil itinerante ao objeto de recurso do utilizador com sessão iniciada.

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. Obter informações de perfil itinerante

Quando o utilizador inicia sessão na aplicação a partir de outro dispositivo, a aplicação chama o Microsoft Graph para obter os detalhes do perfil, incluindo a propriedade de navegação de extensões que contém as definições de roaming e, em seguida, utiliza estes 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 as informações do perfil de roaming

O utilizador pode optar por alterar as respetivas informações de perfil itinerante. A aplicação chama o Microsoft Graph ao executar a seguinte consulta. A solicitação retorna o código de resposta 204 No Content.

Tem de incluir todas as propriedades no corpo do pedido, mesmo que pretenda atualizar apenas um subconjunto. Caso contrário, o Microsoft Graph remove as propriedades não especificadas. Para eliminar 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":"purple",
    "lang":"Swahili"
}

Etapa 4. Eliminar o perfil de roaming de um utilizador

O utilizador decide que já não quer um perfil de roaming. Para eliminar a propriedade de extensão, a aplicação chama o Microsoft Graph ao executar o seguinte pedido. A solicitação retorna o código de resposta 204 No Content.

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