Partilhar via


usuário: assignLicense

Namespace: microsoft.graph

Importante

As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.

Adicione ou remova licenças para o utilizador ativar ou desativar a utilização das ofertas na cloud da Microsoft às quais a empresa tem licenças. Por exemplo, uma organização pode ter uma subscrição do Microsoft 365 Enterprise E3 com 100 licenças e este pedido atribui uma dessas licenças a um utilizador específico. Você também pode habilitar e desabilitar planos específicos associados a uma assinatura. O licenciamento direto de utilizadores é uma alternativa ao licenciamento baseado em grupos.

Para obter as subscrições disponíveis no diretório, execute um pedido GET subscribedSkus.

Esta API está disponível nas seguintes implementações de cloud nacionais.

Serviço global US Government L4 US Government L5 (DOD) China operada pela 21Vianet

Permissões

Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.

Tipo de permissão Permissões com menos privilégios Permissões com privilégios superiores
Delegado (conta corporativa ou de estudante) LicenseAssignment.ReadWrite.All Directory.ReadWrite.All, User.ReadWrite.All
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Application LicenseAssignment.ReadWrite.All Directory.ReadWrite.All, User.ReadWrite.All

Importante

Em cenários delegados com contas escolares ou profissionais, tem de ser atribuída ao utilizador com sessão iniciada uma função de Microsoft Entra suportada ou uma função personalizada com a permissão de microsoft.directory/users/assignLicense função. As seguintes funções com menos privilégios são suportadas para esta operação:

  • Escritores de diretório
  • Administrador de Licenças
  • Administrador do usuário

Solicitação HTTP

POST /users/{id | userPrincipalName}/assignLicense

Cabeçalhos de solicitação

Cabeçalho Valor
Autorização {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.
Content-Type application/json

Corpo da solicitação

Forneça um objeto JSON com os seguintes parâmetros no corpo da solicitação.

Parâmetro Tipo Descrição
addLicenses Coleção assignedLicense Uma coleção de objetos assignedLicense que especifica as licenças a adicionar. Pode desativar servicePlans associados a uma licença ao definir a propriedade disabledPlans num objeto assignedLicense .
removeLicenses Coleção de GUIDs Uma coleção de skuIds que identificam as licenças a remover. Obrigatório. Pode ser uma coleção vazia.

Resposta

Se for bem-sucedido, este método devolve 200 OK o código de resposta e um objeto de utilizador atualizado no corpo da resposta.

Exemplos

Exemplo 1: Atribuir licenças ao utilizador com sessão iniciada

Solicitação

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": []
}

Resposta

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

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"
}

Exemplo 2: Remover licenças do utilizador com sessão iniciada

Solicitação

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

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

Resposta

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

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

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