Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet exemple .NET 6.0 montre comment effectuer des opérations de données courantes à l’aide de l’API Web Dataverse.
Cet exemple utilise le code d’assistance commun dans la Bibliothèque de classes WebAPIService (C#).
Note
Cet exemple implémente les opérations Dataverse et de sortie de la console détaillées dans Exemple de fonctions et d’actions de l’API Web et utilise les constructions C# courantes décrites dans Exemples de l’API Web (C#).
Conditions préalables
- Microsoft Visual Studio 2022.
- Accès à Dataverse avec les privilèges d′exécution des opérations de données.
Comment exécuter cet exemple
Clonez ou téléchargez le référentiel PowerApps-Samples .
Localisez le dossier /dataverse/webapi/C#-NETx/FunctionsAndActions/.
Ouvrez le fichier
FunctionsAndActions.slnà l’aide de Visual Studio 2022Modifiez le fichier
appsettings.jsonpour définir les valeurs de propriété suivantes :Propriété Instructions UrlURL pour votre environnement. Remplacez la valeur https://yourorg.api.crm.dynamics.comde l’espace réservé par la valeur de votre environnement. Voir Afficher les ressources pour développeurs pour trouver l’URL pour votre environnement.UserPrincipalNameRemplacez la valeur you@yourorg.onmicrosoft.comdu paramètre fictif avec la valeur UPN pour accéder à l’environnement.PasswordRemplacez la valeur yourPasswordde l’espace réservé avec le mot de passe que vous utilisez.Enregistrer le fichier
appsettings.jsonAppuyez sur F5 pour exécuter l’exemple.
Code informatique
Le code de cet exemple est ici : PowerApps-Samples/dataverse/webapi/C#-NETx/FunctionsAndActions/Program.cs
Démontre
Cet exemple comprend neuf régions :
Section 1 : Fonctions non liées : WhoAmI
Opération : envoyez la fonction WhoAmI et recevez WhoAmIResponse ComplexType.
Section 2 : Fonctions non liées : FormatAddress
Opérations :
- Envoyez FormatAddress Fonction avec des paramètres pour une adresse aux États-Unis. Procéder à la réception de FormatAddressResponse ComplexType avec l’adresse mise en forme.
- Faites de même avec les paramètres d’une adresse au Japon.
Section 3 : Fonctions non liées : InitializeFrom
Opérations :
- Créez un enregistrement de compte qui sera l’enregistrement d’origine.
- Envoyez la fonction InitializeFrom avec des paramètres référençant l’enregistrement de compte créé. Recevez une réponse contenant des données pour créer un nouveau fichier de compte avec les valeurs du fichier d'origine.
- Créer un enregistrement de compte en utilisant les données de
InitializeFromResponseafin que le nouvel enregistrement soit associé à l’enregistrement d’origine et contienne potentiellement des données copiées à partir de l’enregistrement d’origine, selon la configuration des mappages de colonnes pour l’organisation.
Section 4 : Fonctions non liées : RetrieveCurrentOrganization
Opération : envoyez la fonction RetrieveCurrentOrganization et recevez RetrieveCurrentOrganization ComplexType.
Section 5 : Fonctions non liées : RetrieveTotalRecordCount
Opérations : envoyez la fonction RetrieveTotalRecordCount avec les paramètres pour les tables account et contact et recevez RetrieveTotalRecordCountResponse ComplexType contenant le nombre d’enregistrements dans chaque table.
Section 6 : Fonctions liées : IsSystemAdmin
Opérations :
- Détectez si l’organisation a l’API personnalisée
sample_IsSystemAdmininstallée. - Sinon, installez la solution dans
IsSystemAdminFunction_1_0_0_0_managed.zipcontenant l’API personnalisée. - Récupérez 10 enregistrements systemuser.
- Parcourez les enregistrements à l’aide de la fonction
sample_IsSystemAdminpour détecter ceux qui ont le rôle de sécurité Administrateur système.
Section 7 : Actions non liées : GrantAccess
Opérations :
- Créez un enregistrement de compte à partager.
- Récupérez un utilisateur activé autre que l’utilisateur actuel.
- Utilisez la fonction RetrievePrincipalAccess pour déterminer si l’autre utilisateur dispose de AccessRights
'DeleteAccess'sur l’enregistrement de compte créé. - S’il ne dispose pas de
DeleteAccess, utilisez l’action GrantAccess pour partager cet accès avec l’autre utilisateur. - Testez à nouveau l’accès de l’utilisateur à l’aide de
RetrievePrincipalAccesspour vérifier qu’ils ont maintenant l’accèsDeleteAccess.
Section 8 : Actions liées : AddPrivilegesRole
Opérations :
- Créez un enregistrement role EntityType associé à l'unité commerciale de l'appelant.
- Récupérez l’enregistrement de rôle avec les enregistrements EntityType de privilège étendus pour afficher les privilèges inclus par défaut.
- Récupérez les informations sur les privilèges
prvCreateAccountetprvReadAccount. - Utilisez les informations récupérées sur ces privilèges pour préparer une liste d’instances RolePrivilege ComplexType à utiliser comme paramètres pour
AddPrivilegesRole. - Envoyez l’action AddPrivilegesRole avec les paramètres
RolePrivilege. - Récupérez à nouveau l’enregistrement de rôle avec les enregistrements EntityType de privilège étendus pour montrer que les privilèges incluent maintenant les privilèges
prvCreateAccountetprvReadAccount.
Section 9 : Supprimer des exemples d’enregistrements
Opérations : une référence à chaque enregistrement créé dans cet exemple a été ajoutée à une liste lors de sa création. Cette section envoie une requête $batch de suppression de l’enregistrement.
Nettoyage
Par défaut, cet exemple supprime tous les enregistrements qui y sont créés. Si vous souhaitez afficher les enregistrements créés une fois l’exemple terminé, modifiez la deleteCreatedRecords variable false et vous serez invité à décider si vous souhaitez supprimer les enregistrements.
Voir aussi
Effectuer les opérations conditionnelles à l’aide de l’API Web
Utiliser l’API web Dataverse
Bibliothèque de classes WebAPIService (C#)
Exemples d’API web
Exemple d’opérations de base de l’API Web (C#)
Exemples de données de requête d’API Web (C#)
Exemple d’opérations conditionnelles de l’API web (C#)
Exemple d’opérations de schéma de table de l’API web (C#)
Exemple d′opérations parallèles de l′API web WebApiService (C#)
Exemple d’opérations parallèles d’API web avec des composants de flux de données TPL (C#)