Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Diese Schnellstartanleitung zeigt, wie Sie mit den folgenden Technologien eine Verbindung mit Dataverse herstellen und die Web-API verwenden können.
| Technologie | Beschreibung |
|---|---|
| JavaScript | Eine Programmiersprache für die Webentwicklung, die interaktive Inhalte ermöglicht. Es wird in Browsern für clientseitiges Scripting ausgeführt und kann serverseitig mit Node.js verwendet werden. |
| Visual Studio Code | Ein schlanker Open-Source-Code-Editor mit Debugging, Syntaxhervorhebung und Plug-In-Unterstützung. |
| Single-Page-Webanwendungen (SPAs) | Webanwendungen, die eine einzelne HTML-Seite laden und den Inhalt dynamisch aktualisieren, während der Benutzer mit der App interagiert. Dieser Ansatz sorgt für eine reibungslosere und schnellere Benutzererfahrung, indem das erneute Laden von Seiten reduziert und die Leistung verbessert wird. |
| Microsoft-Authentifizierungsbibliothek für JavaScript (MSAL.js) | Eine Bibliothek, die die Authentifizierung und Autorisierung für Webanwendungen mithilfe von Microsoft-Identitätsplattformen ermöglicht. Es vereinfacht die Integration der sicheren Anmeldung und des Token-Erwerbs für den Zugriff auf geschützte Ressourcen. |
| Cross Origin Resource Sharing (CORS) | Eine SPA-Anwendung kann clientseitiges JavaScript mit der Dataverse-Web-API verwenden, da CORS aktiviert ist. CORS ist eine Sicherheitsfunktion in Webbrowsern, die den kontrollierten Zugriff auf Ressourcen auf einem Webserver von einem anderen Ursprung aus ermöglicht. Dadurch können Webanwendungen, die Same-Origin-Richtlinie umgehen und so den sicheren Datenaustausch über verschiedene Domänen hinweg erleichtern. |
Goal
Diese Schnellstartanleitung konzentriert sich auf die Verbindung mit der Dataverse-Web-API mit JavaScript unter Verwendung einer SPA-Client-Anwendung mit einer minimalen Anzahl von Schritten. Wenn Sie diese Schnellstartanleitung abgeschlossen haben, haben Sie die folgenden Möglichkeiten:
- Sich bei Dataverse anmelden und eine Verbindung herstellen
- Die WhoAmI-Funktion aufrufen und Ihren
UserID-Wert anzeigen.
Wenn Sie diese Schnellstartanleitung abschließen, können Sie das Beispiel für Web-API-Datenvorgänge (clientseitiges JavaScript) ausprobieren, das erweiterte Funktionen demonstriert.
Anmerkung
Diese Schnellstartanleitung gilt nicht für die folgenden clientseitigen JavaScript Szenarien:
| Szenario | Erfahren Sie mehr |
|---|---|
| Skripts für die modellgesteuerte Anwendung |
-
Anwenden von Geschäftslogik mit Client-Skripting in modellgesteuerten Anwendungen mit JavaScript - Xrm.WebApi (Client-API-Referenz) |
| Power Apps-Komponentenframework |
-
Codekomponenten-Web-API - Implementieren einer Web-API-Komponente |
| Power Pages-Portale | Power Pages-Web-API für Portale |
In diesen Szenarien bietet Ihnen der jeweilige Anwendungstyp die Möglichkeit, Anforderungen zu senden, anstatt die für JavaScript native Fetch-API direkt zu verwenden, wie in dieser Schnellstartanleitung gezeigt. Clientseitige Skripts in modellgesteuerten Apps werden im Kontext einer authentifizierten Anwendung ausgeführt, sodass nicht für jede Anforderung ein Zugriffstoken erforderlich ist.
Anforderungen
In der folgenden Tabelle werden die Voraussetzungen für die vollständige Bearbeitung dieser Schnellstartanleitung sowie Beispiele für Web-API-Datenvorgänge (clientseitigs JavaScript) beschrieben.
| Voraussetzung | Beschreibung |
|---|---|
| Berechtigungen zum Erstellen einer Entra-App-Registrierung | Sie können diese Schnellstartanleitung nicht abschließen, ohne eine Microsoft Entra-App-Registrierung erstellen zu können, um sie zu aktivieren. Wenn Sie sich nicht sicher sind, ob Sie das können, probieren Sie den ersten Schritt Eine SPA-Anwendung registrieren aus und finden Sie es heraus. |
| Visual Studio Code | Wenn Visual Studio Code nicht auf Ihrem Computer installiert ist, müssen Sie Visual Studio Code herunterladen und installieren, um diese Schnellstartanleitung ausführen zu können. |
| Node.js | Node.js handelt es sich um eine Laufzeitumgebung, mit der Sie JavaScript serverseitig ausführen können. Mit dieser Schnellstartanleitung wird eine SPA-Anwendung erstellt, die JavaScript clientseitig in einem Browser und nicht in der Node.js-Laufzeit ausführt. Der Node Package Manager (npm) wird jedoch mit Node.js installiert, und Sie benötigen npm, um Parcel und die MSAL.js-Bibliothek zu installieren. |
| Parcel | Moderne Webanwendungen weisen in der Regel viele Abhängigkeiten von Open-Source-Bibliotheken auf, die mithilfe von npm und Skripts verteilt werden und während des Build-Prozesses verwaltet und optimiert werden müssen. Diese Tools werden als „Bundler“ bezeichnet. Das häufigste ist Webpack. Diese Schnellstartanleitung verwendet Parcel, da es eine vereinfachte Erfahrung bietet. Schnellstarts und Beispiele, die SPA-Anwendungen mit verschiedenen Frameworks und Bundlern zeigen, finden Sie unter Beispiele für Microsoft Entra-Single-Page-Webanwendungen. Sie können diese Beispiele mit den in dieser Schnellstartanleitung gezeigten Informationen anpassen, sodass die Dataverse-Web-API verwendet wird. |
| Webtechnologien | HTML-, JavaScript- und CSS-Kenntnisse sind erforderlich, um zu verstehen, wie diese Schnellstartanleitung funktioniert. Sie müssen unbedingt wissen, wie Netzwerkanforderungen mit JavaScript gestellt werden. |
Eine SPA-Anwendung registrieren
Dieser Schritt ist der erste, denn wenn Sie keine App registrieren können, können Sie diesen Schnellstart nicht abschließen.
Alle die folgenden privilegierten Microsoft Entra-Rollen enthalten die erforderlichen Berechtigungen:
- Anwendungsadministrator
- Anwendungsentwicklungsfachkraft
- Fachkraft für die Cloudanwendungsadministration
Wenn Sie die Anwendung konfigurieren, benötigen Sie eine Anwendungs-ID (Client-ID) und die ID Ihres Microsoft Entra-Mandanten. Sie sollten auch einen aussagekräftigen Namen für die Anwendung wählen, damit die Benutzer wissen, wofür die Anwendung erstellt wurde.
Registrieren Sie die App
Sie können Ihre Anwendung wie folgt registrieren:
- Microsoft Entra-Webanwendungs-Benutzeroberfläche
- Azure PowerShell New-AzADApplication-Cmdlet.
Die Anwendungsregistrierung erstellen
Melden Sie sich beim Microsoft Entra Admin Center an.
Wenn Sie Zugriff auf mehrere Mandanten haben, verwenden Sie das Symbol Einstellungen
im oberen Menü, um über das Menü Verzeichnisse + Abonnements zu dem Mandanten zu wechseln, in dem Sie die Anwendung registrieren möchten.Wechseln Sie zu Identität>Anwendungen>App-Registrierungen und wählen Sie dann Neue Registrierung aus.
Geben Sie einen Namen für die Anwendung ein, z. B.
Dataverse Web API Quickstart SPA.Wählen Sie für Unterstützte Kontotypen unter Wer kann diese Anwendung verwenden oder auf diese API zugreifen die Option Nur Konten in diesem Organisationsverzeichnis (<Ihr Mandantenname> – Einzelner Mandant) aus.
Für Umleitungs-URI (optional)
- Wählen Sie beo Plattform auswählen die Option Single-Page-Webanwendung (SPA) aus.
- Geben Sie als Wert
http://localhost:1234ein.
Wählen Sie Registrieren, um Ihre Änderungen zu speichern.
In dem Fenster für die App-Registrierung, die Sie erstellt haben, finden Sie auf der Registerkarte Übersicht unter Grundlagen die folgenden Werte:
- Anwendungs(client)-ID
- Verzeichnis (Mandant) ID
Kopieren Sie diese Werte, da Sie sie benötigen, wenn Sie die .env Datei erstellen, um Umgebungsvariablen zu verwenden.
Eine Dataverse-user_impersonation-Berechtigung hinzufügen
- Wählen Sie im Bereich Verwalten die Option API-Berechtigungen aus.
- Wählen Sie Berechtigung hinzufügen aus.
- Wählen Sie im Flyout API-Berechtigungen anfordern die Registerkarte APIs, die meine Organisation verwendet aus.
- Geben Sie „Dataverse“ ein, um die Anwendungs-ID (Client-ID)
00000007-0000-0000-c000-000000000000zu finden. - Wählen Sie die Dataverse-Anwendung aus.
- Unter Berechtigungen auswählen ist
user_impersonationdie einzige verfügbare delegierte Berechtigung. Wählen Sie sie aus. - Wählen Sie Berechtigungen hinzufügen aus.
Anmerkung
Wenn Sie nicht über die Berechtigungen zum Erstellen einer App-Registrierung für Ihr Unternehmen verfügen, können Sie über den Power Apps-Entwicklerplan einen eigenen Mandanten einrichten.
Node.js installieren
Gehen Sie zu Node.js herunterladen.
Wählen Sie das entsprechende Installationsprogramm für Ihr Betriebssystem (Windows, macOS oder Linux) aus und laden Sie es herunter.
Das Installationsprogramm ausführen. Stellen Sie sicher, dass Sie die Standardoption akzeptieren: Npm, den empfohlenen Paketmanager für Node.js, installieren.
Überprüfen Sie die Installation, indem Sie ein Terminal oder eine Eingabeaufforderung öffnen, diese Befehle eingeben und die Eingabetaste drücken.
node -vnpm -v
Sie sollten etwas sehen, das ungefähr so aussieht:
PS C:\Users\you> node -v v22.14.0 PS C:\Users\you> npm -v 9.5.0 PS C:\Users\you>
Projekt erstellen
Anmerkung
Sie können diese Schritte überspringen, indem Sie das Repository PowerApps-Beispiele klonen oder herunterladen. Die vollständige Anwendung für diese Schritte finden Sie unter /dataverse/webapi/JS/quickspa. Folgen Sie den Anweisungen in der Infodatei.
Die Anweisungen in diesem Abschnitt führen Sie durch die Installation von Abhängigkeiten von npm, das Erstellen der Ordnerstruktur und das Öffnen von Visual Studio Code.
Öffnen Sie ein Terminalfenster an einem Ort, an dem Sie ein Projekt erstellen möchten. Wir verwenden für diese Anweisungen
C:\projects.Geben Sie die folgenden Befehle ein, und drücken Sie die Eingabetaste, um die folgenden Aktionen auszuführen:
Command Aktion mkdir quickspaErstellen Sie einen neuen Ordner mit dem Namen quickspa.cd quickspaGehen Sie zum neuen quickspa-Ordner.npm install --save-dev parcelInstallieren Sie Parcel und initialisieren Sie das Projekt. npm install @azure/msal-browserInstallieren Sie die MSAL.js-Bibliothek. npm install dotenvInstallieren Sie dotenv, um auf Umgebungsvariablen zuzugreifen, in denen potenziell vertrauliche Konfigurationsdaten gespeichert sind. mkdir srcErstellen Sie einen src-Ordner, in dem Sie in den folgenden Schritten HTML-, JS- und CSS-Dateien für Ihre App hinzufügen.code .Öffnen Sie Visual Studio Code im Kontext des quickspa-Ordners.
Ihr Projekt sollte im Visual Studio Code-Explorer wie folgt aussehen:
Die .env-Datei erstellen
Im Hinblick auf die Sicherheit ist es Best Practice, die Konfigurationsdaten in der Umgebung vom Code getrennt zu speichern.
Erstellen Sie eine neue Datei namens
.envim Stammverzeichnis Ihresquickspa-Ordners.Fügen Sie die Werte aus Ihre App registrieren ein, um die
CLIENT_ID- undTENANT_ID-Werte unten zu ersetzen.# The environment this application will connect to. BASE_URL=https://<yourorg>.api.crm.dynamics.com # The registered Entra application id CLIENT_ID=11112222-bbbb-3333-cccc-4444dddd5555 # The Entra tenant id TENANT_ID=aaaabbbb-0000-cccc-1111-dddd2222eeee # The SPA redirect URI included in the Entra application registration REDIRECT_URI=http://localhost:1234Legen Sie den
BASE_URL-Wert auf die URL der Web-API-URL für die Umgebung fest, mit der Sie eine Verbindung herstellen möchten.
Anmerkung
Sie checken die .env-Datei nicht ein. Sie schließen sie unter .gitignore-Datei erstellen aus. Möglicherweise möchten Sie jedoch eine .env.example-Datei mit den Platzhalterwerten erstellen, damit die Benutzenden wissen, welche Daten sie enthalten sollte.
Eine HTML-Seite erstellen
In den Anweisungen in diesem Abschnitt wird beschrieben, wie die HTML-Datei erstellt wird, die die Benutzeroberfläche für die SPA-Anwendung bereitstellt.
Erstellen Sie eine neue Datei im
src-Ordner namensindex.html.Kopieren Sie diesen Inhalt und fügen Sie ihn in die
index.html-Seite ein:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Dataverse Web API JavaScript Quick Start</title> <link rel="stylesheet" href="styles/style.css" /> </head> <body> <header> <h1>Dataverse Web API JavaScript Quick Start</h1> <button id="loginButton">Login</button> <button id="logoutButton" class="hidden">Logout</button> </header> <nav id="buttonContainer" class="disabled"> <button id="whoAmIButton">WhoAmI</button> </nav> <main id="container"></main> <script type="module" src="scripts/index.js"></script> </body> </html>
Diese HTML stellt die folgenden Elemente bereit:
| Element-ID | Elementtyp | Beschreibung |
|---|---|---|
loginButton |
Schaltfläche | Den Anmeldedialog öffnen. |
logoutButton |
Schaltfläche | Den Abmeldedialog öffnen. Standardmäßig ausgeblendet. |
buttonContainer |
Navigation | Enthält Schaltflächen, für deren Verwendung der Benutzer angemeldet sein muss. Standardmäßig deaktiviert. |
whoAmIButton |
Schaltfläche | Führt die WhoAmI-Funktion aus, um die ID des Benutzenden anzuzeigen. |
container |
main | Bereich, in dem dem Benutzer Informationen angezeigt werden können. |
| Skript | Lädt die index.js-Datei, nachdem die restlichen Elemente der Seite geladen wurden. |
Ein JavaScript-Skript erstellen
Diese Datei enthält die gesamte Logik, die die index.html-Seite dynamisch macht.
Erstellen Sie einen neuen Ordner im
src-Ordner namensscripts.Erstellen Sie eine neue Datei im
scripts-Ordner namensindex.js.Kopieren Sie diesen Inhalt und fügen Sie ihn in die
index.js-Seite ein:import { PublicClientApplication } from "@azure/msal-browser"; import 'dotenv/config' // Load the environment variables from the .env file const config = { baseUrl: process.env.BASE_URL, clientId: process.env.CLIENT_ID, tenantId: process.env.TENANT_ID, redirectUri: process.env.REDIRECT_URI, }; // Microsoft Authentication Library (MSAL) configuration const msalConfig = { auth: { clientId: config.clientId, authority: "https://login.microsoftonline.com/" + config.tenantId, redirectUri: config.redirectUri, postLogoutRedirectUri: config.redirectUri, }, cache: { cacheLocation: "sessionStorage", // This configures where your cache will be stored storeAuthStateInCookie: true, }, }; // Create an instance of MSAL const msalInstance = new PublicClientApplication(msalConfig); // body/main element where messages are displayed const container = document.getElementById("container"); // Event handler for login button async function logIn() { await msalInstance.initialize(); if (!msalInstance.getActiveAccount()) { const request = { scopes: ["User.Read", config.baseUrl + "/user_impersonation"], }; try { const response = await msalInstance.loginPopup(request); msalInstance.setActiveAccount(response.account); // Hide the loginButton so it won't get pressed twice document.getElementById("loginButton").style.display = "none"; // Show the logoutButton const logoutButton = document.getElementById("logoutButton"); logoutButton.innerHTML = "Logout " + response.account.name; logoutButton.style.display = "block"; // Enable any buttons in the nav element document.getElementsByTagName("nav")[0].classList.remove("disabled"); } catch (error) { let p = document.createElement("p"); p.textContent = "Error logging in: " + error; p.className = "error"; container.append(p); } } else { // Clear the active account and try again msalInstance.setActiveAccount(null); this.click(); } } // Event handler for logout button async function logOut() { const activeAccount = await msalInstance.getActiveAccount(); const logoutRequest = { account: activeAccount, mainWindowRedirectUri: config.redirectUri, }; try { await msalInstance.logoutPopup(logoutRequest); document.getElementById("loginButton").style.display = "block"; this.innerHTML = "Logout "; this.style.display = "none"; document.getElementsByTagName("nav")[0].classList.remove("disabled"); } catch (error) { console.error("Error logging out: ", error); } } /** * Retrieves an access token using MSAL (Microsoft Authentication Library). * Set as the getToken function for the DataverseWebAPI client in the login function. * * @async * @function getToken * @returns {Promise<string>} The access token. * @throws {Error} If token acquisition fails and is not an interaction required error. */ async function getToken() { const request = { scopes: [config.baseUrl + "/.default"], }; try { const response = await msalInstance.acquireTokenSilent(request); return response.accessToken; } catch (error) { if (error instanceof msal.InteractionRequiredAuthError) { const response = await msalInstance.acquireTokenPopup(request); return response.accessToken; } else { console.error(error); throw error; } } } // Add event listener to the login button document.getElementById("loginButton").onclick = logIn; // Add event listener to the logout button document.getElementById("logoutButton").onclick = logOut; /// Function to get the current user's information /// using the WhoAmI function of the Dataverse Web API. async function whoAmI() { const token = await getToken(); const request = new Request(config.baseUrl + "/api/data/v9.2/WhoAmI", { method: "GET", headers: { Authorization: `Bearer ${token}`, "Content-Type": "application/json", Accept: "application/json", "OData-Version": "4.0", "OData-MaxVersion": "4.0", }, }); // Send the request to the API const response = await fetch(request); // Handle the response if (!response.ok) { throw new Error("Network response was not ok: " + response.statusText); } // Successfully received response return await response.json(); } // Add event listener to the whoAmI button document.getElementById("whoAmIButton").onclick = async function () { // Clear any previous messages container.replaceChildren(); try { const response = await whoAmI(); let p1 = document.createElement("p"); p1.textContent = "Congratulations! You connected to Dataverse using the Web API."; container.append(p1); let p2 = document.createElement("p"); p2.textContent = "User ID: " + response.UserId; container.append(p2); } catch (error) { let p = document.createElement("p"); p.textContent = "Error fetching user info: " + error; p.className = "error"; container.append(p); } };
Das index.js-Skript enthält die folgenden Konstanten und Funktionen:
| Item | Beschreibung |
|---|---|
config |
Enthält die Daten, die von der Konfiguration der Microsoft-Authentifizierungsbibliothek (MSAL) verwendet werden. |
msalConfig |
Konfiguration der Microsoft-Authentifizierungsbibliothek (MSAL). |
msalInstance |
Die PublicClientApplication-Instanz der MSAL. |
container |
Das Element, in dem Meldungen angezeigt werden. |
getToken |
Ruft ein Zugriffstoken mithilfe der MSAL ab. |
logIn |
Ereignis-Listener-Funktion für die Anmeldeschaltfläche. Öffnet ein Dialogfeld zur Auswahl eines Kontos. |
logOut |
Ereignis-Listener-Funktion für die Abmeldeschaltfläche. Öffnet ein Dialogfeld zur Auswahl eines Kontos. |
whoAmI |
Asynchrone Funktion, welche die WhoAmI-Funktion aufruft, um Daten aus Dataverse abzurufen. |
whoAmIButton-Ereignislistener |
Die Funktion, welche die whoAmI-Funktion aufruft und die Änderungen der Benutzeroberfläche verwaltet, um die Meldung anzuzeigen. |
Eine CSS-Seite erstellen
Die CSS-Datei (Cascading Style Sheet) macht die HTML-Seite attraktiver und spielt eine Rolle bei der Steuerung, wann Steuerelemente deaktiviert oder ausgeblendet werden.
Erstellen Sie einen neuen Ordner namens
stylesimsrc-Ordner.Erstellen Sie eine neue Datei namens
style.cssimstyles-Ordner.Kopieren Sie diesen Text und fügen Sie ihn in die
style.css-Datei ein:.disabled { pointer-events: none; opacity: 0.5; /* Optional: to visually indicate the element is disabled */ } .hidden { display: none; } .error { color: red; } .expectedError { color: green; } body { font-family: 'Roboto', sans-serif; font-size: 16px; line-height: 1.6; color: #333; background-color: #f9f9f9; } h1, h2, h3 { color: #2c3e50; } button { background-color: #3498db; color: #fff; border: none; padding: 10px 20px; border-radius: 5px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); transition: background-color 0.3s ease; margin: 5px; /* Adjust the value as needed */ } button:hover { background-color: #2980b9; } header { padding-bottom: 10px; /* Adjust the value as needed */ }
Die .gitignore-Datei erstellen
Wenn Ihre App mit der Quellcodeverwaltung eingecheckt ist, verhindert das Hinzufügen einer .gitignore-Datei das Einchecken der angegebenen Dateien und Ordner.
Erstellen Sie eine Datei namens
.gitignore.Fügen Sie die folgenden Inhalte hinzu:
.parcel-cache dist node_modules .env
Die .parcel-cache- und dist-Ordner werden angezeigt, wenn Sie die App zum ersten Mal ausführen.
Das Nichteinchecken der .env-Datei ist Best Practice im Hinblick auf die Sicherheit. Möglicherweise möchten Sie eine .env.sample-Platzhalterdatei mit Platzhalterwerten einchecken.
Ihr Projekt sollte im Visual Studio Code-Explorer wie folgt aussehen:
package.json Datei konfigurieren
Ihre package.json-Datei sollte in etwa so aussehen:
{
"devDependencies": {
"parcel": "^2.14.1",
},
"dependencies": {
"@azure/msal-browser": "^4.7.0",
"dotenv": "^16.4.7"
}
}
Fügen Sie dieses scripts-Element unterhalb von dependencies hinzu:
"dependencies": {
"@azure/msal-browser": "^4.7.0",
"dotenv": "^16.4.7"
},
"scripts": {
"start": "parcel src/index.html"
}
Mit dieser Konfiguration können Sie die Anwendung mithilfe von npm start im nächsten Schritt starten.
Ausprobieren
Öffnen Sie in Visual Studio Code ein Terminalfenster
Geben Sie
npm startein, und drücken Sie die Eingabetaste.Anmerkung
Möglicherweise wird eine Ausgabe in das Terminal geschrieben, während das Projekt zum ersten Mal initialisiert wird. Das ist Parcel, das einige weitere Node-Module installiert, um Probleme bei der Verwendung von dotenv einzudämmen. Schauen Sie sich die
package.jsonan. Sie sollten einige neue Elemente in derdevDependenciessehen.Sie sollten eine Ausgabe an das Terminal erwarten, die wie folgt aussieht:
Server running at http://localhost:1234 Built in 1.08sDrücken Sie Strg und klicken Sie auf den Link http://localhost:1234, um Ihren Browser zu öffnen.
Wählen Sie in Ihrem Browser die Schaltfläche Anmelden aus.
Das Dialogfeld Bei Ihrem Konto anmelden wird geöffnet.
Wählen Sie im Dialogfeld Bei Ihrem Konto anmelden das Konto aus, das Zugriff auf Dataverse hat.
Wenn Sie zum ersten Mal mit einem neuen Wert für die Anwendungs-ID (Client) zugreifen, wird dieses Dialogfeld Berechtigungen angefordert angezeigt:
Wählen Sie im Dialogfeld Berechtigungen angefordert die Option Annehmen aus.
Wählen Sie die WhoAmI-Schaltfläche aus.
Die Nachricht Herzlichen Glückwunsch! Sie haben eine Verbindung mit Dataverse mithilfe der Web-API hergestellt. wird mit Ihrem
UserId-Wert aus dem komplexen Typ WhoAmIResponse angezeigt.
Problembehandlung
Dieser Abschnitt enthält Fehler, die bei der Ausführung dieses Schnellstarts auftreten können.
Anmerkung
Wenn beim Ausführen der Schritte in dieser Schnellstartanleitung Probleme auftreten, versuchen Sie, das Repository PowerApps-Beispiele zu klonen oder herunterzuladen. Die vollständige Anwendung für diese Schritte finden Sie unter /dataverse/webapi/JS/quickspa. Folgen Sie den Anweisungen in der Infodatei. Wenn das nicht funktioniert, erstellen Sie eine GitHub-Issue, die auf diese quickspa-Beispielanwendung verweist.
Ausgewähltes Benutzerkonto ist im Mandanten nicht vorhanden
Wenn das von Ihnen ausgewählte Konto nicht zum selben Microsoft Entra-Mandanten wie die registrierte Anwendung gehört, wird im Dialogfeld Konto auswählen die folgende Fehlermeldung angezeigt:
Selected user account does not exist in tenant '{Your tenant name}' and cannot access the application '{Your application ID}' in that tenant. The account needs to be added as an external user in the tenant first. Please use a different account.
Lösung: Stellen Sie sicher, dass Sie den richtigen Benutzenden auswählen.
Nächste Schritte,
Versuchen Sie es mit anderen Beispielen, in denen clientseitiges JavaScript verwendet wird.
Erfahren Sie mehr über Dataverse-Web-API-Funktionen durch Verständnis der Servicedokumente.