Partager via


Démarrage rapide : exécuter une requête SDK pour .NET (C#)

Cette rubrique montre comment commencer à utiliser les classes dans le SDK pour les assemblys .NET dans le but d’utiliser les données commerciales de Microsoft Dataverse. Vous allez créer une application de console minimale pour vous connecter au service d’organisation de votre environnement en utilisant la classe ServiceClient pour exécuter une opération de service web.

Votre candidature appellera le Méthode IOrganizationService.Execute passer une instance du WhoAmIRequest classe. Le résultat renvoyé par le service Web est un fichier rempli WhoAmIResponse.UserId valeur qui est l’identifiant unique de votre Dataverse compte utilisateur du système.

Note

Cet exemple de démarrage rapide n’inclut pas la gestion d’exception par souci de concision. Il s’agit d’un exemple de code minimum de ce dont vous avez besoin pour vous connecter et utiliser le SDK pour .NET.

Vous pouvez obtenir l’exemple de code complet sur GitHub GetStarted. Consultez le README du programme pour plus de détails.

Conditions préalables

  • Visual Studio (2022 ou version ultérieure)
  • Connexion Internet
  • Identifiants de connexion d’un compte utilisateur du système Dataverse pour l’environnement cible
  • Adresse URL vers l’environnement Dataverse auquel vous voulez vous connecter
  • Présentation de base du langage Visual C #

Lisez les informations importantes suivantes sur l’utilisation d’une chaîne de connexion ou de l’authentification par nom d’utilisateur/mot de passe dans le code d’application.

Important

Microsoft vous recommande d’utiliser le flux d’authentification le plus sécurisé disponible. Le flux d’authentification décrit dans cet article nécessite un très haut degré de confiance dans l’application et comporte des risques qui ne sont pas présents dans d’autres flux. Vous ne devez utiliser ce flux que lorsque d’autres flux plus sécurisés, tels que les identités managées, ne sont pas viables.

Créer un projet Visual Studio

  1. Créez un projet d’application de console .NET. Pour ce projet, nous utilisons Visual Studio 2022 et ciblant .NET 6.

    Démarrer un projet d’application de console.

  2. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet que vous avez créé, puis sélectionnez Gérer les packages NuGet… dans le menu contextuel.

    Ajouter un package NuGet.

  3. Recherchez la dernière version du package Microsoft.PowerPlatform.Dataverse.Client NuGet et installez-la.

    Installez le package Microsoft.PowerPlatform.Dataverse.Client NuGet.

Note

Vous êtes invité à accepter les modifications de la version préliminaire, sélectionnez ensuite J’accepte dans la boîte de dialogue Acceptation de la licence.

Ajouter un code d’application

  1. Dans Explorateur de solutions, double-cliquez sur Program.cs pour modifier ce fichier. Remplacez le contenu du fichier par le code ci-dessous.

    using Microsoft.Crm.Sdk.Messages;
    using Microsoft.PowerPlatform.Dataverse.Client;
    using Microsoft.Xrm.Sdk;
    
    class Program
    {
       // TODO Enter your Dataverse environment's URL and logon info.
       static string url = "https://yourorg.crm.dynamics.com";
       static string userName = "you@yourorg.onmicrosoft.com";
       static string password = "yourPassword";
    
       // This service connection string uses the info provided above.
       // The AppId and RedirectUri are provided for sample code testing.
       static string connectionString = $@"
       AuthType = OAuth;
       Url = {url};
       UserName = {userName};
       Password = {password};
       AppId = 51f81489-12ee-4a9e-aaae-a2591f45987d;
       RedirectUri = app://58145B91-0C36-4500-8554-080854F2AC97;
       LoginPrompt=Auto;
       RequireNewInstance = True";
    
       static void Main()
       {
          //ServiceClient implements IOrganizationService interface
          IOrganizationService service = new ServiceClient(connectionString);
    
          var response = (WhoAmIResponse)service.Execute(new WhoAmIRequest());
    
          Console.WriteLine($"User ID is {response.UserId}.");
    
    
          // Pause the console so it does not close.
          Console.WriteLine("Press the <Enter> key to exit.");
          Console.ReadLine();
       }
    }
    
  2. Modifiez les valeurs du url, userName, et password comme l’indique le // TODO commentaire de code.

    Note

    L’URL de votre environnement se trouve dans l’application web héritée sous Paramètres > Personnalisation > Ressources du développeur ou dans Power Apps sous Paramètres (icône d’engrenage) >Ressources du développeur.

    Même si cet exemple de code place les informations nom d’utilisateur/mot de passe dans le code pour plus de simplicité, d’autres exemples de code utilisent l’approche recommandée consistant à demander ces informations ou à les stocker dans un fichier App.config ou appsettings.json séparé.

    Les valeurs prises en charge pour AuthType sont répertoriées dans Paramètres de la chaîne de connexion.

Exécuter le programme

Appuyez sur la touche F5 pour exécuter le programme. Le résultat doit ressembler à ce qui suit :

User ID is 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
Press any key to exit.

Utilisez les méthodes de l’interface IOrganizationService

Notez que le Dataverse.Client.ServiceClient ce programme utilise implémente l’ IOrganizationService Interface qui inclut le Exécuter la méthode.

Pour voir et comprendre un peu mieux l’ IOrganizationService interface, essayez ceci :

  1. Accédez à l’article de référence sur la classe WhoAmIRequest.

  2. Copiez l’exemple de méthode de cet article. Il ressemble à ça :

    /// <summary>
    /// Outputs the data returned from the WhoAmI message
    /// </summary>
    /// <param name="service">Authenticated client implementing the IOrganizationService interface</param>
    static void WhoAmIExample(IOrganizationService service) {
    
       var response = (WhoAmIResponse)service.Execute(new WhoAmIRequest());
    
       Console.WriteLine($"OrganizationId:{response.OrganizationId}");
       Console.WriteLine($"BusinessUnitId:{response.BusinessUnitId}");
       Console.WriteLine($"UserId:{response.UserId}");
    
    }
    

    Notez qu’il accepte une IOrganizationService instance de service comme paramètre.

  3. Collez cette WhoAmIExample méthode sous la Main méthode dans votre programme

  4. Remplacez la Main méthode de votre programme par ceci :

        static void Main()
     {
         //ServiceClient implements IOrganizationService interface
         IOrganizationService service = new ServiceClient(connectionString);
    
         WhoAmIExample(service: service);
    
         // Pause the console so it does not close.
         Console.WriteLine("Press the <Enter> key to exit.");
         Console.ReadLine();
     }
    
  5. Exécutez à nouveau l’exemple et vous devriez voir quelque chose comme :

    OrganizationId:00aa00aa-bb11-cc22-dd33-44ee44ee44ee
    BusinessUnitId:11bb11bb-cc22-dd33-ee44-55ff55ff55ff
    UserId:22cc22cc-dd33-ee44-ff55-66aa66aa66aa
    Press the <Enter> key to exit.
    

Étapes suivantes

Maintenant que vous disposez d’un programme console simple qui se connecte à Dataverse, utilisez ce projet pour essayer d’autres méthodes et messages. Vous pouvez utiliser ce projet d’application de console Quick Start pour effectuer des tests ad hoc.

Essayez un autre méthodes de l’interface IOrganizationService

Astuce

Dans notre documentation, vous pouvez trouver de nombreux exemples de méthodes comme celle-ci WhoAmIExample qui acceptent un IOrganizationService service paramètre.

Essayez les exemples de ces méthodes IOrganizationService :

Essayer autres messages

Vous pouvez trouver d’autres messages que vous pouvez appeler à l’aide de la méthode Execute dans ces espaces de noms :

Découvrir comment travailler avec des données d’enregistrement

Les articles suivants expliquent comment utiliser les données d’entreprise dans Dataverse tableaux :

Découvrez nos exemples de code

Vous pouvez trouver un exemple de code SDK pour .NET dans notre référentiel GitHub à l’adresse PowerApps-Samples/dataverse/orgsvc.

Utiliser les extensions ServiceClient

En plus d’implémenter l’ interface IOrganizationService, ServiceClient offre des méthodes d’extension au-delà des méthodes de base définies par IOrganizationService et la possibilité d’activer la journalisation avec ILogger. En savoir plus sur ServiceClient