Obter uma lista de licenças disponíveis por grupo de licenças
Como obter uma lista de licenças para os grupos de licenças especificados disponíveis para usuários do cliente especificado.
Pré-requisitos
Credenciais, conforme descrito em Autenticação do Partner Center. Este cenário dá suporte somente à autenticação com credenciais de aplicativo + de usuário.
Uma ID do cliente (
customer-tenant-id
). Se você não souber a ID do cliente, poderá procurá-la no Partner Center selecionando o espaço de trabalho Clientes, o cliente na lista de clientes e, em seguida, Conta. Na página Conta do cliente, procure a ID da Microsoft na seção Informações da Conta do Cliente. A ID da Microsoft é igual à ID do cliente (customer-tenant-id
).Uma lista de um ou mais identificadores de grupo de licenças.
Funções GDAP
Você precisará de pelo menos uma das seguintes funções GDAP:
- Leitor de Diretório
- Leitor global
C#
Para obter uma lista de licenças disponíveis para os grupos de licenças especificados, comece instanciando uma Lista do tipo LicenseGroupId e adicione os grupos de licenças à lista. Em seguida, use o método IAggregatePartner.Customers.ById com a ID do cliente para identificar o cliente. Em seguida, obtenha o valor da propriedade SubscribedSkus para recuperar uma interface para operações de coleta de SKU inscritas pelo cliente. Finalmente, passe a lista de grupos de licenças para o método Get ou GetAsync para recuperar a lista de SKUs inscritos com detalhes sobre as unidades de licença disponíveis.
// string selectedCustomerId;
// IAggregatePartner partnerOperations;
// To get subscribed SKUs available for group1, the license group for Azure Active Directory (AAD).
List<LicenseGroupId> licenseGroupIds = new List<LicenseGroupId>() { LicenseGroupId.Group1};
var customerUserAadSubscribedSkus = partnerOperations.Customers.ById(selectedCustomerId).SubscribedSkus.Get(licenseGroupIds);
// To get subscribed SKUs available for group2, the license group for Minecraft product licenses.
List<LicenseGroupId> licenseGroupIds = new List<LicenseGroupId>() { LicenseGroupId.Group2};
var customerUserSfbSubscribedSkus = partnerOperations.Customers.ById(selectedCustomerId).SubscribedSkus.Get(licenseGroupIds);
// To get both AAD and Minecraft subscribed SKUs.
List<LicenseGroupId> licenseGroupIds = new List<LicenseGroupId>() { LicenseGroupId.Group1, LicenseGroupId.Group2};
var customerUserBothAadAndSfbSubscribedSkus = partnerOperations.Customers.ById(selectedCustomerId).SubscribedSkus.Get(licenseGroupIds);
Solicitação REST
Sintaxe da solicitação
Método | URI da solicitação |
---|---|
GET | {baseURL}/v1/customers/{customer-id}/subscribedskus?licenseGroupIds=Group1 HTTP/1.1 |
GET | {baseURL}/v1/customers/{customer-id}/subscribedskus?licenseGroupIds=Group2 HTTP/1.1 |
GET | {baseURL}/v1/customers/{customer-id}/subscribedskus?licenseGroupIds=Group1&licenseGroupIds=Group2 HTTP/1.1 |
Parâmetro do URI
Use o caminho e os parâmetros de consulta a seguir para identificar o cliente e os grupos de licenças.
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
id do cliente | string | Sim | Uma cadeia de caracteres formatada em GUID que identifica o cliente. |
licenseGroupIds | string | Não | Um valor de enum que indica o grupo de licenças das licenças atribuídas. Valores válidos: Group1, Group2 Group1 - Este grupo tem todos os produtos cuja licença pode ser gerenciada na ID do Microsoft Entra. Group2 - Este grupo tem apenas licenças de produtos Minecraft. |
Cabeçalhos da solicitação
Para obter mais informações, confira Cabeçalhos REST do Partner Center.
Corpo da solicitação
Nenhum.
Exemplo de solicitação
GET https://api.partnercenter.microsoft.com/v1/customers/0c39d6d5-c70d-4c55-bc02-f620844f3fd1/subscribedskus?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 REST
Se for bem-sucedido, o corpo da resposta conterá uma coleção de recursos SubscribedSku .
Códigos de êxito e de erro de resposta
Cada resposta vem com um código de status HTTP que indica êxito ou falha e informações de depuração adicionais. Use uma ferramenta de rastreamento de rede para ler esse código, o tipo de erro e os parâmetros adicionais. Para obter a lista completa, consulte Códigos de erro do Partner Center.
Exemplo de resposta
HTTP/1.1 200 OK
Content-Length: 4328
Content-Type: application/json; charset=utf-8
MS-CorrelationId: c8cb5a60-ae08-4afc-92f0-efc42adfa186
MS-RequestId: a1d077e4-28b1-4578-b873-6d1a82fa1644
MS-CV: S6Pd5XQAx0Ss/zQi.0
MS-ServerId: 030011719
Date: Sat, 10 Jun 2017 00:19:44 GMT
{
"totalCount": 04,
"items": [{
"availableUnits": 15,
"activeUnits": 15,
"consumedUnits": 0,
"suspendedUnits": 0,
"totalUnits": 15,
"warningUnits": 0,
"productSku": {
"id": "078d2b04-f1bd-4111-bbd4-b4b1b354cef4",
"name": "Azure Active Directory Premium P1",
"skuPartNumber": "AAD_PREMIUM",
"targetType": "User",
"licenseGroupId": "group1"
},
"servicePlans": [{
"displayName": "Exchange Foundation",
"serviceName": "EXCHANGE_S_FOUNDATION",
"id": "113feb6c-3fe4-4440-bddc-54d774bf0318",
"capabilityStatus": "Enabled",
"targetType": "Tenant"
}, {
"displayName": "Azure Active Directory Premium P1",
"serviceName": "AAD_PREMIUM",
"id": "41781fb2-bc02-4b7c-bd55-b576c07bb09d",
"capabilityStatus": "Enabled",
"targetType": "User"
}, {
"displayName": "Microsoft Azure Multifactor Authentication",
"serviceName": "MFA_PREMIUM",
"id": "8a256a2b-b617-496d-b51b-e76466e88db0",
"capabilityStatus": "Enabled",
"targetType": "User"
}
],
"capabilityStatus": "Enabled",
"attributes": {
"objectType": "SubscribedSku"
}
}, {
"availableUnits": 1,
"activeUnits": 1,
"consumedUnits": 0,
"suspendedUnits": 0,
"totalUnits": 1,
"warningUnits": 0,
"productSku": {
"id": "54b84594-9c77-4499-8d65-5e0d5f410e78",
"name": "Dynamics AX Task",
"skuPartNumber": "AX_TASK_USER",
"targetType": "User",
"licenseGroupId": "group1"
},
"servicePlans": [
],
"capabilityStatus": "Enabled",
"attributes": {
"objectType": "SubscribedSku"
}
}, {
"availableUnits": 23,
"activeUnits": 72,
"consumedUnits": 49,
"suspendedUnits": 0,
"totalUnits": 72,
"warningUnits": 0,
"productSku": {
"id": "984df360-9a74-4647-8cf8-696749f6247a",
"name": "Minecraft Education Edition Faculty",
"skuPartNumber": "CFQ7TTC0K5DR/0002",
"targetType": "User",
"licenseGroupId": "group2"
},
"servicePlans": [
],
"capabilityStatus": "Enabled",
"attributes": {
"objectType": "SubscribedSku"
}
}, {
"availableUnits": 71,
"activeUnits": 112,
"consumedUnits": 41,
"suspendedUnits": 0,
"totalUnits": 112,
"warningUnits": 0,
"productSku": {
"id": "1e7e1070-8ccb-4aca-b470-d7cb538cb07e",
"name": "Windows 10 Enterprise E5",
"skuPartNumber": "WIN_ENT_E5",
"targetType": "User",
"licenseGroupId": "group1"
},
"servicePlans": [{
"displayName": "Windows Defender Advanced Threat Protection",
"serviceName": "WINDEFATP",
"id": "871d91ec-ec1a-452b-a83f-bd76c7d770ef",
"capabilityStatus": "Enabled",
"targetType": "User"
}, {
"displayName": "Windows 10 Enterprise E3",
"serviceName": "WIN10_PRO_ENT_SUB",
"id": "21b439ba-a0ca-424f-a6cc-52f954a5b111",
"capabilityStatus": "Enabled",
"targetType": "User"
}
],
"capabilityStatus": "Enabled",
"attributes": {
"objectType": "SubscribedSku"
}
}
],
"attributes": {
"objectType": "Collection"
}
}
Exemplo de resposta (não foram encontrados SKUs correspondentes)
Se nenhuma SKUs inscrita 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.
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"
}
}
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de