Gewusst wie: Abrufen von Kontextdaten

Die getContext Funktion ruft kontextbezogene Informationen über die App und den angemeldeten Benutzer ab. Mit diesen Informationen können Apps personalisierte Erfahrungen bereitstellen und fundierte Entscheidungen zur Laufzeit basierend auf Metadaten treffen. Die getContext Funktion kommuniziert mit dem Webplayer, um Kontextdaten abzurufen. Die getContext Funktion ist einfach und konzentriert sich auf Metadaten und Authentifizierungsbezogene Eigenschaften.

Warum Kontextdaten verwenden?

Die von der getContext Funktion zurückgegebenen Kontextdaten enthalten umfassende Details zur App und zum Benutzer, was Szenarien ermöglicht, die über die grundlegenden App-Funktionen hinausgehen. Dies ist der Grund, warum diese Eigenschaften wichtig sind:

  • Erweiterte Telemetrie und Debugging: Parameter wie sessionId ermöglichen es Ihnen, App-Sitzungen mit Plattform-Telemetrie zu korrelieren, wodurch die Problembehandlung einfacher wird. Der Zugriff auf Bezeichner wie "IAppContext.appId " und "IUserContext.userPrincipalName " hilft dabei, Verwendungsmuster nachzuverfolgen und Probleme schnell zu diagnostizieren.

  • Personalisierte Erlebnisse: Benutzerkontexteigenschaften vereinfachen die Personalisierung, ohne dass mehr Datenaufrufe erforderlich sind. Sie können das App-Verhalten basierend auf der Benutzeridentität anpassen und dynamische Erfahrungen für verschiedene Rollen oder Einzelpersonen bereitstellen.

  • Featuresteuerung und bedingte Logik: Parameter können als Feature-Flags oder Kennzeichnungen fungieren, sodass Sie Features für bestimmte Benutzer oder Umgebungen aktivieren oder deaktivieren können. Sie können auch verwendet werden, um je nach Kontext verschiedene UI-Elemente oder Workflows anzuzeigen.

  • Konsistenz mit Canvas-Apps: Diese Parameter entsprechen den Sitzungsdetails, die in Canvas-Apps verfügbar sind, aber jetzt können Sie sie direkt im Code verwenden, um mehr Flexibilität zu ermöglichen.

Schritte

  1. Importieren Sie die getContext Funktion.

    import { getContext } from '@microsoft/power-apps/app'; 
    
  2. Kontext abrufen.

    Rufen Sie getContext als asynchrone Funktion auf, um das Kontextobjekt abzurufen.

    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;
    

Abrufen der Dataverse-ID des aktuellen Benutzers

Verwenden Sie ctx.user.systemUserId, um die ID der systemuser-Zeile des aktuellen Benutzers in der verknüpften Dataverse-Umgebung der App ohne separate Abfrage abzurufen. Dieser Wert unterscheidet sich von dem Wert ctx.user.objectId, der den Benutzer in Microsoft Entra ID identifiziert. Verwenden Sie systemUserId, wenn Sie auf die Dataverse-Zeile des Benutzers verweisen müssen.

API-Antwort

Der Kontext, den Sie zurückerhalten, implementiert die IContext Schnittstelle.

IContext

In der folgenden Tabelle werden die eigenschaften beschrieben, die in der IContext Schnittstelle verfügbar sind:

Eigenschaft Typ Beschreibung
app IAppContext Kontext der App
user IUserContext Der Kontext des Benutzers
host IHostContext Der Kontext des Hosts

IAppContext

In der folgenden Tabelle werden die eigenschaften beschrieben, die in der IAppContext Schnittstelle verfügbar sind:

Eigenschaft Typ Beschreibung
appId Zeichenfolge Die ID der abgespielten App
environmentId Zeichenfolge Die ID der Umgebung, in der sich die App befindet
queryParams <Zeichenfolge, Zeichenfolge> aufzeichnen Die Abfrageparameter, die der URL hinzugefügt wurden
dataverseOrgUrl Zeichenfolge Die dataverse URL der Umgebung, in der sich die App befindet
appUrl Zeichenfolge Die URL der App.

IUserContext

In der folgenden Tabelle werden die eigenschaften beschrieben, die in der IUserContext Schnittstelle verfügbar sind:

Eigenschaft Typ Beschreibung
fullName Zeichenfolge Der vollständige Name des Benutzers, der die App spielt
objectId Zeichenfolge Die Microsoft Entra Objekt-ID des Benutzers, der die App verwendet.
systemUserId String (optional) Die ID der systemuser Zeile des aktuellen Benutzers in der verknüpften Dataverse-Umgebung. Die Eigenschaft kann ausgelassen oder leer sein, wenn sie nicht verfügbar ist.
tenantId Zeichenfolge Die ID des Mandanten, wo die App ist
userPrincipalName Zeichenfolge Der Benutzerprinzipalname (UPN) des Benutzers, der die App spielt

IHostContext

In der folgenden Tabelle wird die in der IHostContext Schnittstelle verfügbare Eigenschaft beschrieben:

Eigenschaft Typ Beschreibung
sessionId Zeichenfolge Die ID der aktuellen Sitzung. Dieser Wert ändert sich jedes Mal, wenn die App geöffnet wird.