Obter as licenças atribuídas a um usuário por grupo de licençasGet licenses assigned to a user by license group

Aplica-se aApplies To

  • Partner CenterPartner Center

Como obter uma lista de licenças atribuídas ao usuário para os grupos de licenças especificados.How to get a list of user assigned licenses for the specified license groups.

Pré-requisitosPrerequisites

  • Credenciais, conforme descrito em Autenticação do Partner Center.Credentials as described in Partner Center authentication. Este cenário dá suporte somente à autenticação com credenciais de aplicativo + de usuário.This scenario supports authentication with App+User credentials only.

  • Uma ID do cliente (customer-tenant-id).A customer ID (customer-tenant-id). Se você não souber a ID do cliente, poderá procurar no painel do Partner Center.If you don't know the customer's ID, you can look it up in the Partner Center dashboard. Selecione CSP no menu do Partner Center e, em seguida, Clientes.Select CSP from the Partner Center menu, followed by Customers. Selecione o cliente na lista de clientes e selecione Conta.Select the customer from the customer list, then select Account. Na página Conta do cliente, procure a ID da Microsoft na seção Informações da Conta do Cliente.On the customer’s Account page, look for the Microsoft ID in the Customer Account Info section. A ID da Microsoft é igual à ID do cliente (customer-tenant-id).The Microsoft ID is the same as the customer ID (customer-tenant-id).

  • Um identificador de usuário.A user identifier.

  • Uma lista de um ou mais identificadores de grupo de licenças.A list of one or more license group identifiers.

C#C#

Para verificar quais licenças são atribuídas a um usuário de grupos de licenças especificados, comece instanciando uma [lista/dotnet/API/System. Collections. Generic. list-1) do tipo LicenseGroupIde, em seguida, adicione os grupos de licenças à lista.To check which licenses are assigned to a user from specified license groups, start by instantiating a [List/dotnet/api/system.collections.generic.list-1) of type LicenseGroupId, and then add the license groups to the list. Em seguida, use o método IAggregatePartner. Customers. ById com a ID do cliente para identificar o cliente.Then, use the IAggregatePartner.Customers.ById method with the customer ID to identify the customer. Em seguida, chame o método users. ById com a ID de usuário para identificar o usuário.Next, call the Users.ById method with the user ID to identify the user. Em seguida, obtenha uma interface para as operações de licença de usuário do cliente da propriedade licenças .Then, get an interface to customer user license operations from the Licenses property. Por fim, passe a lista de grupos de licenças para o método Get ou getasync para recuperar a coleção de licenças atribuídas ao usuário.Finally, pass the list of license groups to the Get or GetAsync method to retrieve the collection of licenses assigned to the user.

// string selectedCustomerUserId;
// string selectedCustomerId;
// IAggregatePartner partnerOperations;

// To get the group1 (Azure Active Directory (AAD)) assigned licenses.
List<LicenseGroupId> licenseGroupIds = new List<LicenseGroupId>(){ LicenseGroupId.Group1 };
var customerUserAadAssignedLicenses = partnerOperations.Customers.ById(selectedCustomerId).Users.ById(selectedCustomerUserId).Licenses.Get(licenseGroupIds);

// To get the group2 (Minecraft) assigned licenses.
List<LicenseGroupId> licenseGroupIds = new List<LicenseGroupId>(){ LicenseGroupId.Group2 };
var customerUserSfbAssignedLicenses = partnerOperations.Customers.ById(selectedCustomerId).Users.ById(selectedCustomerUserId).Licenses.Get(licenseGroupIds);

// To get both AAD and Minecraft assigned licenses.
List<LicenseGroupId> licenseGroupIds = new List<LicenseGroupId>(){ LicenseGroupId.Group1, LicenseGroupId.Group2 };
var customerUserBothAadAndSfbAssignedLicenses = partnerOperations.Customers.ById(selectedCustomerId).Users.ById(selectedCustomerUserId).Licenses.Get(licenseGroupIds);

Solicitação RESTREST request

Sintaxe da solicitaçãoRequest syntax

MétodoMethod URI da solicitaçãoRequest URI
GETGET {baseURL}/v1/Customers/{Customer-ID}/Users/{User-ID}/licenses? LicenseGroupIds = grupo1 http/1.1{baseURL}/v1/customers/{customer-id}/users/{user-id}/licenses?licenseGroupIds=Group1 HTTP/1.1
GETGET {baseURL}/v1/Customers/{Customer-ID}/Users/{User-ID}/licenses? LicenseGroupIds = group2 http/1.1{baseURL}/v1/customers/{customer-id}/users/{user-id}/licenses?licenseGroupIds=Group2 HTTP/1.1
GETGET {baseURL}/v1/Customers/{Customer-ID}/Users/{User-ID}/licenses? LicenseGroupIds = grupo1&LicenseGroupIds = group2 http/1.1{baseURL}/v1/customers/{customer-id}/users/{user-id}/licenses?licenseGroupIds=Group1&licenseGroupIds=Group2 HTTP/1.1

Parâmetro do URIURI parameter

Use o caminho e os parâmetros de consulta a seguir para identificar os grupos de clientes, usuários e licenças.Use the following path and query parameters to identify the customer, user and license groups.

NomeName TipoType ObrigatórioRequired DescriçãoDescription
id do clientecustomer-id stringstring SimYes Uma cadeia de caracteres formatada de GUID que identifica o cliente.A GUID formatted string that identifies the customer.
user-iduser-id stringstring SimYes Uma cadeia de caracteres formatada GUID que identifica o usuário.A GUID formatted string that identifies the user.
licenseGroupIdslicenseGroupIds Cadeia de caracteresstring NoNo Um valor de enumeração que indica o grupo de licenças das licenças atribuídas.An enum value that indicates the license group of the assigned licenses. Valores válidos: grupo1, group2 grupo1 – esse grupo tem todos os produtos cuja licença pode ser gerenciada na Azure Active Directory (AAD).Valid values: Group1, Group2 Group1 - This group has all products whose license can be managed in the Azure Active Directory (AAD). Group2-este grupo tem apenas licenças de produto do Minecraft.Group2 - This group has only Minecraft product licenses.

Cabeçalhos de solicitaçãoRequest headers

Para obter mais informações, confira Cabeçalhos REST do Partner Center.For more information, see Partner Center REST headers.

Corpo da solicitaçãoRequest body

Nenhum.None.

Exemplo de solicitaçãoRequest example

GET https://api.partnercenter.microsoft.com/v1/customers/0c39d6d5-c70d-4c55-bc02-f620844f3fd1/users/482e2152-4b49-48ec-b715-823365ce3d4c/licenses?licenseGroupIds=Group1&licenseGroupIds=Group2 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: a1d077e4-28b1-4578-b873-6d1a82fa1644
MS-CorrelationId: c8cb5a60-ae08-4afc-92f0-efc42adfa186
X-Locale: en-US
Host: api.partnercenter.microsoft.com

Resposta RESTREST response

Se for bem-sucedido, o corpo da resposta conterá a coleção de recursos de licença .If successful, the response body contains the collection of License resources.

Códigos de êxito e de erro de respostaResponse success and error codes

Cada resposta vem com um código de status HTTP que indica êxito ou falha e informações de depuração adicionais.Each response comes with an HTTP status code that indicates success or failure and additional debugging information. Use uma ferramenta de rastreamento de rede para ler esse código, o tipo de erro e os parâmetros adicionais.Use a network trace tool to read this code, error type, and additional parameters. Para obter a lista completa, consulte códigos de erro do Partner Center.For the full list, see Partner Center error codes.

Exemplo de respostaResponse example

HTTP/1.1 200 OK
Content-Type: application/json
MS-CorrelationId: 8a53b025-d5be-4d98-ab20-229d1813de76
MS-RequestId: b1317092-f087-471e-a637-f66523b2b94c
Date: June 24 2016 22:00:25 PST

{
    "totalCount": 2,
    "items": [{
            "servicePlans": [

            ],
            "productSku": {
                "id": "984df360-9a74-4647-8cf8-696749f6247a",
                "name": "Minecraft Education Edition Faculty",
                "skuPartNumber": "CFQ7TTC0K5DR/0002",
                "licenseGroupId": "group2"
            },
            "attributes": {
                "objectType": "License"
            }
        }, {
            "servicePlans": [{
                    "displayName": "Windows Defender Advanced Threat Protection",
                    "serviceName": "WINDEFATP",
                    "id": "871d91ec-ec1a-452b-a83f-bd76c7d770ef",
                    "capabilityStatus": "Assigned",
                    "targetType": "User"
                }, {
                    "displayName": "Windows 10 Enterprise E3",
                    "serviceName": "WIN10_PRO_ENT_SUB",
                    "id": "21b439ba-a0ca-424f-a6cc-52f954a5b111",
                    "capabilityStatus": "Assigned",
                    "targetType": "User"
                }
            ],
            "productSku": {
                "id": "1e7e1070-8ccb-4aca-b470-d7cb538cb07e",
                "name": "Windows 10 Enterprise E5",
                "skuPartNumber": "WIN_ENT_E5",
                "licenseGroupId": "group1"
            },
            "attributes": {
                "objectType": "License"
            }
        }
    ],
    "attributes": {
        "objectType": "Collection"
    }
}

Exemplo de resposta (nenhuma licença correspondente encontrada)Response example (no matching licenses found)

Se nenhuma licença correspondente puder ser encontrada para os grupos de licenças especificados, a resposta conterá uma coleção vazia com um elemento totalCount cujo valor é 0.If no matching licenses can be found for the specified license groups, the response contains an empty collection with a totalCount element whose value is 0.

HTTP/1.1 200 OK
Content-Length: 71
Content-Type: application/json; charset=utf-8
MS-CorrelationId: c8cb5a60-ae08-4afc-92f0-efc42adfa186
MS-RequestId: a1d077e4-28b1-4578-b873-6d1a82fa1644
MS-CV: q05xrhUeDUKvhrFt.0
MS-ServerId: 030020525
Date: Fri, 09 Jun 2017 22:50:11 GMT

{
    "totalCount": 0,
    "items": [],
    "attributes": {
        "objectType": "Collection"
    }
}