Lisans grubuna göre bir kullanıcıya atanan lisansları alma

Belirtilen lisans grupları için kullanıcı tarafından atanan lisansların listesini nasıl elde ekleyebilirsiniz?

Önkoşullar

  • kimlik doğrulamasında açıklandığı gibi İş Ortağı Merkezi bilgileri. Bu senaryo yalnızca App+User kimlik bilgileriyle kimlik doğrulamasını destekler.

  • Müşteri kimliği ( customer-tenant-id ). Müşterinin kimliğini bilmiyorsanız bu kimliği panoda İş Ortağı Merkezi. İş Ortağı Merkezi'den CSP'yi ve ardından Müşteriler'i seçin. Müşteri listesinden müşteriyi ve ardından Hesap'ı seçin. Müşterinin Hesap sayfasında Müşteri Hesabı Bilgileri bölümünde MicrosoftKimliği'ne bakın. Microsoft Kimliği, müşteri kimliği () ile customer-tenant-id aynıdır.

  • Bir kullanıcı tanımlayıcısı.

  • Bir veya daha fazla lisans grubu tanımlayıcısının listesi.

C#

Bir kullanıcıya belirtilen lisans gruplarından hangi lisansların atandığı kontrol etmek için, licenseGroupIdtüründe bir [List/dotnet/api/system.collections.generic.list-1) örneği başlatarak ve ardından lisans gruplarını listeye ekleyin. Ardından, müşteriyi tanımlamak için IAggregatePartner.Customers.ById yöntemini müşteri kimliğiyle birlikte kullanın. Ardından, kullanıcı kimliğini kullanarak Users.ById yöntemini çağırarak tanıyın. Ardından, Lisanslar özelliğinden müşteri kullanıcı lisans işlemlerine bir arabirim alın. Son olarak, kullanıcıya atanmış lisans koleksiyonunu almak için lisans gruplarının listesini Get veya GetAsync yöntemine iletirsiniz.

// 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);

REST isteği

İstek söz dizimi

Yöntem İstek URI'si
AL {baseURL}/v1/customers/{customer-id}/users/{user-id}/licenses?licenseGroupIds=Group1 HTTP/1.1
AL {baseURL}/v1/customers/{customer-id}/users/{user-id}/licenses?licenseGroupIds=Group2 HTTP/1.1
AL {baseURL}/v1/customers/{customer-id}/users/{user-id}/licenses?licenseGroupIds=Group1 licenseGroupIds=Group2 HTTP/1.1

URI parametresi

Müşteri, kullanıcı ve lisans gruplarını tanımlamak için aşağıdaki yolu ve sorgu parametrelerini kullanın.

Ad Tür Gerekli Açıklama
customer-id string Yes Müşteriyi tanımlayan GUID biçimli bir dize.
user-id string Yes Kullanıcıyı tanımlayan GUID biçimli bir dize.
licenseGroupIds dize No Atanan lisansların lisans grubunu gösteren bir enum değeri. Geçerli değerler: Grup1, Grup2 Grup1 - Bu grup, lisansları Azure Active Directory (AAD). Grup2 - Bu grubun yalnızca Minecraft lisansları vardır.

İstek üst bilgileri

Daha fazla bilgi için bkz. İş Ortağı Merkezi REST üst bilgileri.

İstek gövdesi

Yok.

İstek örneği

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

REST yanıtı

Başarılı olursa yanıt gövdesi Lisans kaynaklarının koleksiyonunu içerir.

Yanıt başarı ve hata kodları

Her yanıt, başarılı veya başarısız olduğunu gösteren bir HTTP durum kodu ve ek hata ayıklama bilgileriyle birlikte gelir. Bu kodu, hata türünü ve ek parametreleri okumak için bir ağ izleme aracı kullanın. Tam liste için bkz. İş Ortağı Merkezi kodları.

Yanıt örneği

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

Yanıt örneği (eşleşen lisans bulunamadı)

Belirtilen lisans grupları için eşleşen lisans bulunamasa da yanıt, değeri 0 olan totalCount öğesine sahip boş bir koleksiyon içerir.

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