我正在尝试使用 microsoft graph API 获取所有 ios、ipad、iphone、android 和 windows 设备上安装的所有应用程序。
我的方法是首先使用 https://graph.microsoft.com/v1.0/deviceManagement/manageddevices 获取所有设备 然后将每个设备 ID 传递给 https://graph.microsoft.com/v1.0/deviceManagement/manageddevices('device_id')?$expand=detectedApps
但是设备数量巨大,因此我必须进行的 API 调用数量太多。
有没有其他方法可以做到这一点。
注意:我尝试过 https://graph.microsoft.com/v1.0/deviceManagement/manageddevices?$expand=detectedApps 在这里,但这似乎不起作用。
谢谢
最佳答案
managedDevice
资源类型与 DetectedApp
没有任何关系,但 DetectedApp
资源类型与 managedDevice
有关系>.
首次调用以获取所有设备
GET https://graph.microsoft.com/v1.0/deviceManagement/manageddevices
您可以通过仅选择一些您需要的属性来减少响应的大小
GET https://graph.microsoft.com/v1.0/deviceManagement/manageddevices?$select=id
然后第二次调用以获取检测到的应用程序并展开managedDevices
GET https://graph.microsoft.com/v1.0/deviceManagement/detectedApps?$expand=managedDevices
GET https://graph.microsoft.com/v1.0/deviceManagement/detectedApps?$expand=managedDevices($select=id)
按托管设备 ID 对第二次调用中检测到的应用进行分组,并将它们与第一次调用中的所有设备列表进行比较,以找出哪些设备拥有应用。
资源:
关于azure - 我正在尝试使用 microsoft graph API 获取所有设备上安装的所有应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75338878/