如何在graph api中获取拥有“Microsoft Teams Phone”许可证的用户列表?

问题描述 投票:0回答:1

所以我有一个请求,通过将分配的许可证添加到选择中:

GET https://graph.microsoft.com/v1.0/users$select=displayName,givenName,jobTitle,mail,mobilePhone,officeLocation,surname,userPrincipalName,id,assignedLicenses

这将返回用户详细信息以及分配的许可证。但是这个问题分配的许可证仅返回 SkuID。

我想要的是获取用户许可证详细信息列表以及用户列表。 我不想循环我的用户只是为了获取每个许可证详细信息。如果您有很多用户,这可能需要一些时间

我们有许多客户拥有不同的许可证,我们希望确保他们的某些用户拥有“Microsoft 团队电话”许可证。

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('48d31887-5fad-4d73-a9f5-3c356e68a038')/licenseDetails",
    "value": [
        {
            "id": "3RnS3Gi8m0u_C0ozp5a-NWAn38eBLPdOtXhbU5K1cd8",
            "skuId": "c7df2760-2c81-4ef7-b578-5b5392b571df",
            "skuPartNumber": "ENTERPRISEPREMIUM",
            "servicePlans": [
                {
                    "servicePlanId": "cd31b152-6326-4d1b-ae1b-997b625182e6",
                    "servicePlanName": "MIP_S_Exchange",
                    "provisioningStatus": "PendingProvisioning",
                    "appliesTo": "User"
                },
                {
                    "servicePlanId": "8e0c0a52-6a6c-4d40-8370-dd62790dcd70",
                    "servicePlanName": "THREAT_INTELLIGENCE",
                    "provisioningStatus": "Success",
                    "appliesTo": "User"
                },
                {
                    "servicePlanId": "9c0dab89-a30c-4117-86e7-97bda240acd2",
                    "servicePlanName": "POWERAPPS_O365_P3",
                    "provisioningStatus": "Success",
                    "appliesTo": "User"
                },
                {
                    "servicePlanId": "8c098270-9dd4-4350-9b30-ba4703f3b36b",
                    "servicePlanName": "ADALLOM_S_O365",
                    "provisioningStatus": "Success",
                    "appliesTo": "User"
                },
                {
                    "servicePlanId": "5dbe027f-2339-4123-9542-606e4d348a72",
                    "servicePlanName": "SHAREPOINTENTERPRISE",
                    "provisioningStatus": "Success",
                    "appliesTo": "User"
                }
            ]
        },
        {
            "id": "3RnS3Gi8m0u_C0ozp5a-Ne0iVHIF4g5Aqwo4mdijmMo",
            "skuId": "725422ed-e205-400e-ab0a-3899d8a398ca",
            "skuPartNumber": "SCHOOL_DATA_SYNC_P2",
            "servicePlans": [
                {
                    "servicePlanId": "113feb6c-3fe4-4440-bddc-54d774bf0318",
                    "servicePlanName": "EXCHANGE_S_FOUNDATION",
                    "provisioningStatus": "Success",
                    "appliesTo": "Company"
                },
                {
                    "servicePlanId": "500b6a2a-7a50-4f40-b5f9-160e5b8c2f48",
                    "servicePlanName": "SCHOOL_DATA_SYNC_P2",
                    "provisioningStatus": "Success",
                    "appliesTo": "User"
                }
            ]
        }
    ]
}

或者他们是一种获取所有用户的方法,并且还过滤它以仅获取拥有“Microsoft Teams Phone”许可证的用户?

microsoft-graph-api
1个回答
0
投票

您是否尝试过通过

users
过滤
assignedPlans

GET /v1.0/users?$select=displayName,givenName,jobTitle,mail,mobilePhone,officeLocation,surname,userPrincipalName,id,assignedPlans&$filter=assignedPlans/any(a:a/servicePlanId eq <guid>)&$count=true

GET /v1.0/users?$select=displayName,givenName,jobTitle,mail,mobilePhone,officeLocation,surname,userPrincipalName,id,assignedPlans&$filter=assignedPlans/any(a:a/service eq '<service_plan_name>')&$count=true

您需要添加

ConsistencyLevel
标头,其值为
eventual

© www.soinside.com 2019 - 2024. All rights reserved.