我们要求提供所有
detectedApp
的报告,不仅包括计数,还包括检测到的所有单个设备。
我们尝试过
GET https://graph.microsoft.com/v1.0/deviceManagement/detectedApps?$expand=managedDevices($select=id)
反对
v1.0
和 beta
但响应始终包含 managedDevices
属性作为空数组:
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#deviceManagement/detectedApps(managedDevices())",
"@odata.count": 1,
"value": [
{
"id": "<SOME ID HERE>",
"displayName": "MyAppName",
"version": "1.1.0",
"sizeInByte": 0,
"deviceCount": 1,
"publisher": "",
"platform": "SOMEOS",
"managedDevices": []
}
]
}
此外,阅读有关
$expand
的文档,无论如何,该文档最多只能有 20 个结果。
有没有办法从
ALL检测到的应用程序中获取所有
managedDevices
ID,而不是一个一个地获取?
当我们一一执行此操作时,我们会不断点击 HTTP 状态代码
429
以获取请求限制:(
更新
使用此请求还会在
empty array
下返回
detectedApps
GET /beta/deviceManagement/manageddevices('<DEVICE_ID>')?$expand=detectedApps($select=id)
找到了解决这个问题的方法。
首先使用
获取检测到的应用程序的所有IDhttps://graph.microsoft.com/beta/deviceManagement/detectedApps?$filter=(contains(displayName,'$($appDisplayName)'))&$select=id
然后对于 ID 列表中的每个 $id,调用
https://graph.microsoft.com/beta/deviceManagement/detectedApps('$($id)')/managedDevices?$select=id,deviceName,emailAddress