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 communes à l’aide de l’API Web de 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 Exemples PowerApps.
Localisez le dossier /dataverse/webapi/C#-NETx/FunctionsAndActions/.
Ouvrir le fichier
FunctionsAndActions.slnen utilisant Visual Studio 2022Modifiez le fichier
appsettings.jsonpour définir les valeurs de propriété suivantes :Property Instructions UrlURL pour votre environnement. Remplacez la valeur https://yourorg.api.crm.dynamics.comde l’espace réservé avec 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.comde l’espace réservé 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
Le code de cet exemple est ici : PowerApps-Samples/dataverse/webapi/C#-NETx/FunctionsAndActions/Program.cs
Montre ce qui suit
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 la fonction FormatAddress avec les paramètres d’une adresse aux États-Unis. Recevez 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 avec des données pour créer un enregistrement de compte avec les valeurs de l’enregistrement 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 EntityType de rôle associé à la division 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.
Nettoyer
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é, remplacez la variable deleteCreatedRecords par 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#)