调用Graph API获取physicalMemoryInBytes时遭遇404资源未找到错误
问题描述
执行Graph API查询:
https://graph.microsoft.com/beta/deviceManagement/managedDevices/11111111-1111-1111-1111-111111111111
收到如下错误响应:
{ "error": { "code": "ResourceNotFound", "message": "{ \"_version\": 3, \"Message\": \"An error has occurred - Operation ID (for customer support): 00000000-0000-0000-0000-000000000000 - Activity ID: 0b8958f1-ec4b-20fb-40ed-e31e7d8044db - Url: https://fef.msua02.manage.microsoft.com/DeviceFE/StatelessDeviceFEService/deviceManagement/managedDevices('5a9382a7-cfd4-4b93-b5f0-d8c8c69ed615')?api-version=2022-07-29\", \"CustomApiErrorPhrase\": \"\", \"RetryAfter\": null, \"ErrorSourceService\": \"\", \"HttpHeaders\": \"{}\"}", "innerError": { "date": "2023-06-25T17:19:30", "request-id": "b4a94f7b-6150-4b8d-8798-4d2ccb3449c2", "client-request-id": "0b8958f1-ec4b-20fb-40ed-e31e7d8044db" } } }
已尝试的排查步骤:
- 切换API版本(v1.0/beta),均返回相同错误
- 使用
$select语句指定RAM相关属性(按官方文档说明该属性支持$select),仍报错 - 提交Azure支持请求,建议咨询Stack Overflow
目标是获取设备RAM的字节数,却始终收到ResourceNotFound错误。
可能的解决方案
验证设备ID有效性
先通过列表接口确认设备是否存在:GET https://graph.microsoft.com/v1.0/deviceManagement/managedDevices或添加筛选缩小范围:
GET https://graph.microsoft.com/v1.0/deviceManagement/managedDevices?$filter=deviceName eq '目标设备名称'注意错误响应内部URL显示的设备ID为
5a9382a7-cfd4-4b93-b5f0-d8c8c69ed615,和你传入的ID不一致,需确认是否存在ID填写错误。检查权限配置
确保当前账号拥有DeviceManagementManagedDevices.Read.All或更高权限(如DeviceManagementManagedDevices.ReadWrite.All),且权限已完成管理员同意。可在Graph Explorer的权限面板中确认状态。确认设备管理状态
设备必须是Intune管理的正常注册设备,未注册/已注销的设备无法通过该接口获取信息,可在Intune控制台检查目标设备状态。直接查询RAM属性
确认设备ID正确后,尝试直接指定RAM属性查询:GET https://graph.microsoft.com/v1.0/deviceManagement/managedDevices/正确设备ID?$select=totalPhysicalMemoryBytes
内容的提问来源于stack exchange,提问作者Anil
相关产品推荐
相关产品推荐

