Como obter dados de contexto

A getContext função recupera informações contextuais sobre o aplicativo e o usuário conectado. Essas informações permitem que os aplicativos forneçam experiências personalizadas e tome decisões informadas em runtime com base nos metadados. A getContext função se comunica com o player da Web para obter dados de contexto. A getContext função é leve e se concentra em propriedades relacionadas a metadados e autenticação.

Por que usar dados de contexto?

Os dados de contexto retornados pela getContext função fornecem detalhes avançados sobre o aplicativo e o usuário, permitindo cenários que vão além da funcionalidade básica do aplicativo. É por isso que essas propriedades importam:

  • Telemetria e depuração aprimoradas: parâmetros como sessionId permitem correlacionar sessões de aplicativo com a telemetria da plataforma, facilitando a solução de problemas. O acesso a identificadores como IAppContext.appId e IUserContext.userPrincipalName ajuda a controlar padrões de uso e diagnosticar problemas rapidamente.

  • Experiências personalizadas: as propriedades de contexto do usuário simplificam a personalização sem exigir mais chamadas de dados. Você pode adaptar o comportamento do aplicativo com base na identidade do usuário, fornecendo experiências dinâmicas para diferentes funções ou indivíduos.

  • Controle de funcionalidades e lógica condicional: os parâmetros podem atuar como portões de funcionalidades ou sinalizadores, permitindo que você ative ou desative funcionalidades para usuários ou ambientes específicos. Eles também podem ser usados para mostrar diferentes elementos de interface do usuário ou fluxos de trabalho, dependendo do contexto.

  • Consistência com aplicativos canvas: esses parâmetros se alinham aos detalhes da sessão disponíveis em aplicativos canvas, mas agora você pode usá-los diretamente no código, desbloqueando mais flexibilidade.

Etapas

  1. Importe a getContext função.

    import { getContext } from '@microsoft/power-apps/app'; 
    
  2. Recuperar o contexto.

    Chame getContext como uma função assíncrona para obter o objeto de contexto.

    const ctx = await getContext();
    
    // Now you can access these context properties
    const appId = ctx.app.appId;
    const environmentId = ctx.app.environmentId;
    const queryParams = ctx.app.queryParams;
    const dataverseOrgUrl = ctx.app.dataverseOrgUrl;
    const appUrl = ctx.app.appUrl;
    const fullName = ctx.user.fullName;
    const objectId = ctx.user.objectId;
    const systemUserId = ctx.user.systemUserId;
    const tenantId = ctx.user.tenantId;
    const userPrincipalName = ctx.user.userPrincipalName;
    const sessionId = ctx.host.sessionId;
    

Obter a ID do Dataverse do usuário atual

Utilize ctx.user.systemUserId para obter a identificação da linha do systemuser do usuário atual no ambiente Dataverse vinculado do aplicativo sem uma consulta separada. Esse valor difere de ctx.user.objectId, que identifica o usuário no Microsoft Entra ID. Use systemUserId quando precisar referenciar a linha do Dataverse do usuário.

Resposta da API

O contexto que você recebe de volta implementa a IContext interface.

IContext

A tabela a seguir descreve as propriedades disponíveis na IContext interface:

Propriedade Tipo Description
app IAppContext Contexto do aplicativo
user IUserContext Contexto do usuário
host IHostContext Contexto do host

IAppContext

A tabela a seguir descreve as propriedades disponíveis na IAppContext interface:

Propriedade Tipo Description
appId cadeia O ID do aplicativo em execução
environmentId cadeia A ID do ambiente em que o aplicativo reside
queryParams Registro<cadeia de caracteres, cadeia de caracteres> Os parâmetros de consulta adicionados à URL
dataverseOrgUrl cadeia A URL do dataverse do ambiente em que o aplicativo reside
appUrl cadeia A URL do aplicativo.

IUserContext

A tabela a seguir descreve as propriedades disponíveis na IUserContext interface:

Propriedade Tipo Description
fullName cadeia O nome completo do usuário que está usando o aplicativo
objectId cadeia A ID do objeto Microsoft Entra do usuário que está usando o aplicativo.
systemUserId cadeia de caracteres (opcional) A ID da linha do usuário atual no ambiente vinculado do systemuser Dataverse. A propriedade pode ser omitida ou vazia quando não disponível.
tenantId cadeia O ID do inquilino onde o aplicativo reside
userPrincipalName cadeia O UPN (nome principal do usuário) do usuário que está utilizando o aplicativo

IHostContext

A tabela a seguir descreve a propriedade disponível na IHostContext interface:

Propriedade Tipo Description
sessionId cadeia A ID da sessão atual. Esse valor é alterado sempre que o aplicativo é aberto