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.

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.

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 :
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 :
// 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
}
HttpClientFactory
et des politiques de retry (ex. Polly) pour rendre vos appels d'entitlement résistants aux échecs transitoires.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