Internet-API-Funktionen- und Aktionen-Beispiel (C#)

Dieses .NET 6.0-Beispiel veranschaulicht, wie allgemeine Datenvorgänge mit der Dataverse-Web-API ausgeführt werden.

In diesem Beispiel wird der allgemeine Helfercode in der WebAPIService-Klassenbibliothek (C#) verwendet.

Hinweis

Dieses Beispiel implementiert die Dataverse-Vorgänge sowie die Konsolenausgabe, die unter Beispiel für Web-API-Funktionen und Aktionen aufgeführt sind, und nutzt bekannte C#-Konstrukte, die in Web-API-Beispiele (C#) aufgeführt sind.

Anforderungen

  • Microsoft Visual Studio 2022.
  • Zugriff auf Dataverse mit Rechten, um Datenvorgänge auszuführen.

Wie man dieses Beispiel ausführt

  1. Klonen Sie das PowerApps-Beispiele-Repository oder laden Sie es herunter.

  2. Suchen Sie den Ordner /dataverse/webapi/C#-NETx/FunctionsAndActions/.

  3. Die Datei FunctionsAndActions.sln mit Visual Studio 2022 öffnen

  4. Bearbeiten Sie die appsettings.json-Datei, um die folgenden Eigenschaftswerte festzulegen:

    Eigenschaften Anweisungen
    Url Die Url für Ihre Umgebung. Ersetzen Sie den https://yourorg.api.crm.dynamics.com-Wert des Platzhalters durch den Wert für Ihre Umgebung. Gehen Sie zu Entwicklerressourcen anzeigen, um die URL für Ihre Umgebung zu finden.
    UserPrincipalName Ersetzen Sie den you@yourorg.onmicrosoft.com-Wert des Platzhalters durch den UPN-Wert, den Sie für den Zugriff auf die Umgebung verwenden.
    Password Ersetzen Sie den yourPassword-Wert des Platzhalters durch das von Ihnen verwendete Kennwort.
  5. Die Datei appsettings.json speichern

  6. Drücken Sie F5, um das Beispiel auszuführen.

Code

Der Code für dieses Beispiel ist hier: PowerApps-Beispiele/dataverse/webapi/C#-NETx/FunctionsAndActions/Program.cs

Veranschaulichung

Dieses Beispiel umfasst neun Regionen:

Abschnitt 1: Ungebundene Funktionen: WhoAmI

Vorgang: WhoAmI Function senden und WhoAmIResponse ComplexType erhalten.

Abschnitt 2: Ungebundene Funktionen: FormatAddress

Vorgänge:

  1. Senden Sie FormatAddress Function mit Parametern für eine Adresse in den Vereinigten Staaten. Erhalten Sie FormatAddressResponse ComplexType mit der formatierten Adresse.
  2. Machen Sie dasselbe mit Parametern für eine Adresse in Japan.

Abschnitt 3: Ungebundene Funktionen: InitializeFrom

Vorgänge:

  1. Erstellen Sie einen Kontodatensatz als Originaldatensatz.
  2. Senden Sie InitializeFrom Function mit Parametern, die auf den erstellten Kontodatensatz verweisen. Erhalten Sie eine Antwort mit Daten, um einen neuen Kontodatensatz mit Werten aus dem ursprünglichen Datensatz zu erstellen.
  3. Erstellen Sie einen neuen Kontodatensatz mit den Daten aus InitializeFromResponse, sodass der neue Datensatz mit dem ursprünglichen Datensatz verknüpft ist und möglicherweise Daten enthält, die aus dem ursprünglichen Datensatz kopiert wurden, je nachdem, wie die Spaltenzuordnungen für die Organisation konfiguriert sind.

Abschnitt 4: Ungebundene Funktionen: RetrieveCurrentOrganization

Vorgang: RetrieveCurrentOrganization Function senden und RetrieveCurrentOrganization ComplexType erhalten.

Abschnitt 5: Ungebundene Funktionen: RetrieveTotalRecordCount

Vorgänge: RetrieveTotalRecordCount Function mit Parametern für account- und contact-Tabellen senden und RetrieveTotalRecordCountResponse ComplexType erhalten, welche die Anzahl der Datensätze in jeder Tabelle enthalten.

Abschnitt 6: Gebundene Funktionen: IsSystemAdmin

Vorgänge:

  1. Erkennen Sie, ob die Organisation die angepasste sample_IsSystemAdmin API installiert hat.
  2. Wenn nicht, installieren Sie die Lösung in IsSystemAdminFunction_1_0_0_0_managed.zip, die die Custom-API enthält.
  3. Rufen Sie 10 Systembenutzerdatensätze ab.
  4. Durchlaufen Sie die Datensätze mit der sample_IsSystemAdmin-Funktion, um zu erkennen, welche die Sicherheitsrolle Systemadministrator haben

Abschnitt 7: Ungebundene Aktionen: GrantAccess

Vorgänge:

  1. Erstellen Sie einen freizugebenden Firmendatensatz.
  2. Rufen Sie einen anderen aktivierten Benutzer als den aktuellen Benutzer ab.
  3. Verwenden Sie die RetrievePrincipalAccess Function, um festzustellen, ob der andere Benutzer AccessRights'DeleteAccess' auf dem Kontodatensatz erstellt hat.
  4. Wenn der andere Benutzende nicht über DeleteAccess verfügt, verwenden Sie GrantAccess Action, um diesen Zugriff zu teilen.
  5. Testen Sie den Zugriff des Benutzers erneut mit RetrievePrincipalAccess, um zu überprüfen, ob sie jetzt DeleteAccess haben.

Abschnitt 8: Gebundene Aktionen: AddPrivilegesRole

Vorgänge:

  1. Erstellen Sie einen role EntityType-Datensatz, der der Unternehmenseinheit des Aufrufers zugeordnet ist.
  2. Rufen Sie den Rollendatensatz mit erweiterten privilege EntityType-Datensätzen ab, um die standardmäßig enthaltenen Berechtigungen anzuzeigen.
  3. Rufen Sie Informationen über die Rechte prvCreateAccount und prvReadAccount ab.
  4. Verwenden Sie die abgerufenen Informationen zu diesen Berechtigungen, um eine Liste zu der RolePrivilege ComplexType-Instanzen zu erstellen, die Parameter für AddPrivilegesRole sein sollen.
  5. Senden Sie AddPrivilegesRole Action mit den RolePrivilege-Parametern.
  6. Rufen Sie den Rollendatensatz erneut mit erweiterten privilege EntityType-Datensätzen ab, um die Rechte anzuzeigen, die jetzt die Rechte prvCreateAccount und prvReadAccount enthalten.

Abschnitt 9: Beispielaufzeichnungen löschen

Vorgänge: Ein Verweis auf jeden in diesem Beispiel erstellten Datensatz wurde einer Liste hinzugefügt, während sie erstellt wurde. Dieser Abschnitt sendet eine $batch-Aufforderung zum Löschen des Datensatzes.

Bereinigung

Standardmäßig löscht dieses Beispiel alle darin erstellten Datensätze. Wenn Sie die erstellten Datensätze nach Abschluss des Beispiels anzeigen möchten, ändern Sie die deleteCreatedRecords-Variable auf false und Sie werden aufgefordert, zu entscheiden, ob Sie die Datensätze löschen möchten.

Siehe auch

Bedingte Vorgänge mithilfe der Web-API ausführen
Dataverse-Web-API verwenden
WebAPIService-Klassenbibliothek (C#)
Web API Beispiele
Beispiel grundlegender Web-API-Operationen (C#)
Web API-Abfragedatenbeispiel (C#)
Beispiel bedingter Web-API-Operationen (C#)
Beispiel für Web-API-Tabellenschemavorgänge (C#)
Web-API WebApiService-Beispiel für parallele Operationen (C#)
Beispiel für parallele Web-API-Vorgänge mit TPL Dataflow-Komponenten (C#)

Hinweis

Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)

Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).