Partager via


utilisateur : assignLicense

Espace de noms: microsoft.graph

Importante

Les API sous la version /beta dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .

Ajoutez ou supprimez des licences permettant à l’utilisateur d’activer ou de désactiver son utilisation des offres cloud Microsoft pour lesquelles l’entreprise dispose de licences. Par exemple, un organization peut avoir un abonnement Microsoft 365 Entreprise E3 avec 100 licences, et cette demande attribue l’une de ces licences à un utilisateur spécifique. Vous pouvez également activer et désactiver des plans spécifiques associés à un abonnement. Les licences utilisateur directes sont une alternative aux licences basées sur les groupes.

Pour obtenir les abonnements disponibles dans l’annuaire, effectuez une requête GET subscribedSkus.

Cette API est disponible dans les déploiements de cloud national suivants.

Service global Gouvernement des États-Unis L4 Us Government L5 (DOD) Chine gérée par 21Vianet

Autorisations

Choisissez l’autorisation ou les autorisations marquées comme moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.

Type d’autorisation Autorisations avec privilèges minimum Autorisations privilégiées plus élevées
Déléguée (compte professionnel ou scolaire) LicenseAssignment.ReadWrite.All Directory.ReadWrite.All, User.ReadWrite.All
Déléguée (compte Microsoft personnel) Non prise en charge. Non prise en charge.
Application LicenseAssignment.ReadWrite.All Directory.ReadWrite.All, User.ReadWrite.All

Importante

Dans les scénarios délégués avec des comptes professionnels ou scolaires, l’utilisateur connecté doit se voir attribuer un rôle Microsoft Entra pris en charge ou un rôle personnalisé avec l’autorisation de microsoft.directory/users/assignLicense rôle. Les rôles les moins privilégiés suivants sont pris en charge pour cette opération :

  • Rédacteurs d'annuaires
  • Administrateur de licences
  • Administrateur d’utilisateurs

Requête HTTP

POST /users/{id | userPrincipalName}/assignLicense

En-têtes de demande

En-tête Valeur
Autorisation Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation.
Content-Type application/json

Corps de la demande

Dans le corps de la demande, indiquez un objet JSON avec les paramètres suivants.

Paramètre Type Description
addLicenses collection assignedLicense Collection d’objets assignedLicense qui spécifient les licences à ajouter. Vous pouvez désactiver servicePlans associés à une licence en définissant la propriété disabledPlans sur un objet assignedLicense .
removeLicenses Collection de GUID Collection de skuIds qui identifient les licences à supprimer. Obligatoire. Il peut s’agir d’une collection vide.

Réponse

Si elle réussit, cette méthode renvoie 200 OK le code de réponse et un objet utilisateur mis à jour dans le corps de la réponse.

Exemples

Exemple 1 : Attribuer des licences à l’utilisateur connecté

Demande

POST https://graph.microsoft.com/beta/me/assignLicense
Content-type: application/json

{
    "addLicenses": [
        {
            "disabledPlans": [
                "8a256a2b-b617-496d-b51b-e76466e88db0"
            ],
            "skuId": "84a661c4-e949-4bd2-a560-ed7766fcaf2b"
        },
        {
            "disabledPlans": [],
            "skuId": "f30db892-07e9-47e9-837c-80727f46fd3d"
        }
    ],
    "removeLicenses": []
}

Réponse

Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

HTTP/1.1 200 OK
Content-type: application/json

{
  "accountEnabled": true,
  "assignedLicenses": [
        {
            "disabledPlans": [
                "8a256a2b-b617-496d-b51b-e76466e88db0"
            ],
            "skuId": "84a661c4-e949-4bd2-a560-ed7766fcaf2b"
        },
        {
            "disabledPlans": [],
            "skuId": "f30db892-07e9-47e9-837c-80727f46fd3d"
        }
    ],
  "city": "Nairobi",
  "companyName": "Contoso"
}

Exemple 2 : Supprimer des licences de l’utilisateur connecté

Demande

POST https://graph.microsoft.com/beta/me/assignLicense
Content-type: application/json

{
    "addLicenses": [],
    "removeLicenses": [
        "f30db892-07e9-47e9-837c-80727f46fd3d",
        "84a661c4-e949-4bd2-a560-ed7766fcaf2b"
    ]
}

Réponse

Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

HTTP/1.1 200 OK
Content-type: application/json

{
  "accountEnabled": true,
  "assignedLicenses": [],
  "city": "Nairobi",
  "companyName": "Contoso"
}