Tutoriel·

Débuter avec l'API Entitlement en C#/.NET

Un guide pratique pour intégrer l'API Entitlement d'Autodesk dans votre plugin AutoCAD en utilisant C# et .NET.

Ahmed Elsayed
By Ahmed Elsayed
2 min readIntermédiaire

Dans cet article, nous allons parcourir le processus étape par étape d'intégration de l'API Entitlement d'Autodesk dans votre plugin AutoCAD avec C#/.NET. Vous apprendrez comment installer le SDK, configurer le client et effectuer la validation de licence au démarrage.

Flux de configuration : installer le package → configurer le client → valider la licence

Prérequis

  • Visual Studio 2022 ou plus récent
  • .NET Framework 4.8 (ou .NET 6+ pour les plugins .NET Core)
  • Fichier license.token valide (depuis votre compte Autodesk)
  • Package NuGet : Autodesk.EntitlementApi

1. Installer le SDK de l'API Entitlement

Install-Package Autodesk.EntitlementApi -Version 1.0.0

2. Configurer l'EntitlementApiClient

Dans votre Plugin.cs (ou classe d'entrée principale), initialisez le client avec votre URL de base API et vos identifiants :

plugin.cs
using Autodesk.Entitlement;

public class Plugin : IExtensionApplication
{
    private EntitlementApiClient _entitlementClient;

    public void Initialize(IExtensionApplication app)
    {
        var baseUrl = "https://api.autodesk.com/entitlement/v1";
        var apiKey  = Environment.GetEnvironmentVariable("ENTITLEMENT_API_KEY");
        _entitlementClient = new EntitlementApiClient(baseUrl, apiKey);

        ValidateLicense();
    }

    public void Terminate() { /* nettoyage */ }

    private void ValidateLicense()
    {
        var token = File.ReadAllText("license.token");
        var response = _entitlementClient.ValidateTokenAsync(token)
                             .GetAwaiter().GetResult();

        if (!response.IsValid)
            throw new UnauthorizedAccessException("Échec de la validation de licence : " + response.Message);
    }
}

3. Valider et Activer

Après avoir validé le token, vous pouvez optionnellement activer un siège flottant :

Plugin.cs
// Activer une licence flottante pour la machine actuelle
var machineId = Environment.MachineName;
var activation = _entitlementClient.ActivateAsync(token, machineId)
                        .GetAwaiter().GetResult();
if (!activation.Success)
    Debug.WriteLine("Avertissement d'activation : " + activation.Message);

4. Gestion d'Erreurs et Journalisation

Enveloppez vos appels dans try-catch pour gérer gracieusement les problèmes réseau ou les erreurs API :

try
{
    ValidateLicense();
}
catch (Exception ex)
{
    Debug.WriteError($"Erreur d'entitlement : {ex.Message}");
    // Optionnellement désactiver les fonctionnalités du plugin ou inviter l'utilisateur
}
⚠️ Conseil : Utilisez HttpClientFactory et des politiques de retry (ex. Polly) pour rendre vos appels d'entitlement résistants aux échecs transitoires.

Introduction à l'API Entitlement

Vue d'ensemble de haut niveau et concepts clés.

Préparation des Données de Test

Concevoir des enregistrements d'entitlement réalistes pour les tests.

PDF Officiel de l'API Entitlement

Référence officielle Autodesk de l'API entitlement pour applications desktop.

Prochaines Étapes

Dans l'Article #3, nous explorerons comment créer des données de test de niveau professionnel et automatiser les tests de scénarios de licence dans votre pipeline CI.

Laisser un Commentaire