所以我有一个请求,通过将分配的许可证添加到选择中:
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”许可证的用户?
您是否尝试过通过
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