请访问 Chrome Management Telemetry API 简要了解 API 功能。
下面显示的所有请求都使用以下变量:
$TOKEN
- OAuth 2 令牌$CUSTOMER
- 客户 ID 或实际值my_customer
列出遥测设备数据
如需列出 Chrome 设备的遥测数据,请使用
/telemetry/devices
端点发送。readMask
参数用于指定
设备字段。您可以使用
pageSize
和 pageToken
参数。指定 filter
以进一步缩小范围
根据设备或报告条件返回结果
请求
curl -X GET \
-H "Authorization: Bearer $TOKEN" \
"https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/telemetry/devices?readMask=name,customer,orgUnitId,deviceId,serialNumber,cpuInfo,cpuStatusReport,memoryInfo,memoryStatusReport,osUpdateStatus&pageSize=2"
响应
{
"devices": [
{
"name": "customers/<customer>/telemetry/devices/<deviceId>",
"customer": "customers/<customer>",
"orgUnitId": "ABCEDFG",
"deviceId": "<deviceId>",
"serialNumber": "0A2B213CDEFG",
"cpuStatusReport": [
{
"reportTime": "2021-04-25T13:23:55.880Z",
"cpuUtilizationPct": 76
},
{
"reportTime": "2021-04-25T18:25:55.880Z",
"cpuTemperatureInfo": [
{
"temperatureCelsius": 38,
"label": "Core"
},
]
}
],
"memoryStatusReport": [
{
"reportTime": "2021-04-25T13:23:55.880Z",
"systemRamFreeBytes": "14358468900"
}
],
"osUpdateStatus": [
{
"lastUpdateTime": "2021-04-25T11:18:51.383Z",
"lastUpdateCheckTime": "1970-01-01T00:00:00Z",
"lastRebootTime": "2021-04-25T11:18:51.383Z"
}
]
},
{
"name": "customers/<customer>/telemetry/devices/<deviceId>",
"customer": "customers/<customer>",
"orgUnitId": "FEDCBA",
"deviceId": "<deviceId>",
"serialNumber": "1B3D817LKUH",
"cpuStatusReport": [
{
"reportTime": "2021-05-25T13:23:55.880Z",
"cpuUtilizationPct": 50
},
],
"memoryStatusReport": [
{
"reportTime": "2021-05-25T13:23:55.880Z",
"systemRamFreeBytes": "14358468900"
}
],
"osUpdateStatus": [
{
"lastUpdateTime": "2021-05-25T11:18:51.383Z",
"lastUpdateCheckTime": "1970-01-01T00:00:00Z",
"lastRebootTime": "2021-05-25T11:18:51.383Z"
}
]
}
],
"nextPageToken": "PAGE_TOKEN"
}
列出单个组织部门的遥测设备数据
如需列出单个组织部门的遥测数据,请使用 filter
参数中的 orgUnitId
值。
请求
curl -X GET \
-H "Authorization: Bearer $TOKEN" \
"https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/telemetry/devices?readMask=name,customer,orgUnitId,deviceId,serialNumber,cpuInfo,cpuStatusReport,memoryInfo,memoryStatusReport,osUpdateStatus&filter=orgUnitId=ABCDEFG"
响应
{
"devices": [
{
"name": "customers/<customer>/telemetry/devices/<deviceId>",
"customer": "customers/<customer>",
"orgUnitId": "ABCEDFG",
"deviceId": "<deviceId>",
"serialNumber": "0A2B213CDEFG",
"cpuStatusReport": [
{
"reportTime": "2021-04-25T13:23:55.880Z",
"cpuUtilizationPct": 76
},
{
"reportTime": "2021-04-25T18:25:55.880Z",
"cpuTemperatureInfo": [
{
"temperatureCelsius": 38,
"label": "Core"
},
]
}
],
"memoryStatusReport": [
{
"reportTime": "2021-04-25T13:23:55.880Z",
"systemRamFreeBytes": "14358468900"
}
],
"osUpdateStatus": [
{
"lastUpdateTime": "2021-04-25T11:18:51.383Z",
"lastUpdateCheckTime": "1970-01-01T00:00:00Z",
"lastRebootTime": "2021-04-25T11:18:51.383Z"
}
]
}
]
}
使用时间戳过滤器列出遥测设备数据
时间戳过滤条件会返回所有设备,但只会包含符合以下过滤条件的报告:
时间戳过滤条件并指定 read_mask
。
如需使用此过滤条件,请在 filter
中指定 reports_timestamp
值
参数,并包含以 Unix 纪元(以毫秒为单位)表示的时间戳值
(例如1679288169623
)或 RFC 3339“祖鲁语”格式的时间(最多九个小数位)
数字,例如"2023-02-15T11:18:51.383Z"
) 格式。时间戳返回的是
API 采用 UTC 时区,因此 reports_timestamp
过滤条件值也应为
(采用 UTC 时区)。所有标准数字比较运算符
支持 (<, >, <=, >=, =
)。
列出所有报告
由于没有 reports_timestamp
值时仅返回最近的报告
则以下调用可用于检索所有设备报告
包含在所有设备的 read_mask
中。
请求
curl -X GET \
-H "Authorization: Bearer $TOKEN" \
"https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/telemetry/devices?readMask=name,customer,orgUnitId,deviceId,serialNumber,audioStatusReport,cpuStatusReport,heartbeatStatusReport,memoryStatusReport&filter=reports_timestamp>=0"
响应
{
"devices": [
{
"name": "customers/<customer>/telemetry/devices/<deviceId>",
"customer": "customers/<customer>",
"orgUnitId": "ABCEDFG",
"deviceId": "<deviceId>",
"serialNumber": "0A2B213CDEFG",
"audioStatusReport": [
{
"reportTime": "2009-01-01T12:37:51.383Z",
"inputMute": true,
"inputDevice": "example input device 2009",
},
{
"reportTime": "2010-02-01T12:37:51.383Z",
"inputMute": false,
"inputDevice": "example input device 2010",
},
{
"reportTime": "2011-03-01T12:37:51.383Z",
"inputMute": true,
"inputDevice": "example input device 2011",
},
{
"reportTime": "2024-01-01T12:37:51.383Z",
"inputMute": false,
"inputDevice": "example input device 2024",
}
],
"cpuStatusReport": [
{
"reportTime": "1960-10-15T01:18:51.383Z",
"cpuUtilizationPct": 76
},
{
"reportTime": "1997-10-31T11:18:51.383Z",
"cpuTemperatureInfo": [
{
"temperatureCelsius": 38,
"label": "Core"
},
]
}
]
},
{
"name": "customers/<customer>/telemetry/devices/<deviceId 1>",
"customer": "customers/<customer>",
"orgUnitId": "ABCEDFG",
"deviceId": "<deviceId 1>",
"serialNumber": "HGFEDCBA",
"heartbeatStatusReport": [
{
"reportTime": "2001-02-15T11:18:51.383Z",
"state": "ONLINE"
},
{
"reportTime": "2002-07-22T11:18:51.383Z",
"state": "OFFLINE"
},
{
"reportTime": "2012-01-04T11:18:51.383Z",
"state": "UNKNOWN"
},
{
"reportTime": "2024-02-29T11:18:51.383Z",
"state": "ONLINE"
}
],
"memoryStatusReport": [
{
"reportTime": "2024-03-20T11:18:51.383Z",
"systemRamFreeBytes": "112233445566778"
}
]
}
]
}
列出特定时间戳之后的报告
要发出查询特定时间戳之后的报告的请求,请使用
reports_timestamp
,如以下示例所示。
请求
curl -X GET \
-H "Authorization: Bearer $TOKEN" \
"https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/telemetry/devices?readMask=name,customer,orgUnitId,deviceId,serialNumber,cpuStatusReport,memoryStatusReport,osUpdateStatus&filter=reports_timestamp>=\"2023-02-15T11:18:51.383Z\""
响应
{
"devices": [
{
"name": "customers/<customer>/telemetry/devices/<deviceId>",
"customer": "customers/<customer>",
"orgUnitId": "ABCEDFG",
"deviceId": "<deviceId>",
"serialNumber": "0A2B213CDEFG",
"cpuStatusReport": [
{
"reportTime": "2023-02-15T11:18:51.383Z",
"cpuUtilizationPct": 76
},
{
"reportTime": "2023-03-19T11:18:51.383Z",
"cpuTemperatureInfo": [
{
"temperatureCelsius": 38,
"label": "Core"
},
]
}
],
"memoryStatusReport": [
{
"reportTime": "2023-04-19T11:18:51.383Z",
"systemRamFreeBytes": "14358468900"
}
]
},
{
"name": "customers/<customer>/telemetry/devices/<deviceId 1>",
"customer": "customers/<customer>",
"orgUnitId": "ABCEDFG",
"deviceId": "<deviceId 1>",
"serialNumber": "HGFEDCBA",
"memoryStatusReport": [
{
"reportTime": "2024-02-15T11:18:51.383Z",
"systemRamFreeBytes": "112233445566778"
}
]
}
]
}
使用多个过滤器列出遥测设备数据(连接过滤)
如需使用多个过滤器来缩小 API 返回的响应范围,请在 filter
参数中使用 AND
关键字并添加多个过滤条件。
请求
curl -X GET \
-H "Authorization: Bearer $TOKEN" \
"https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/telemetry/devices?readMask=name,customer,orgUnitId,deviceId,serialNumber,cpuStatusReport,memoryStatusReport,osUpdateStatus&filter=reports_timestamp=\"2023-02-15T11:18:51.383Z\" AND serialNumber=HGFEDCBA"
响应
{
"devices": [
{
"name": "customers/<customer>/telemetry/devices/<deviceId 1>",
"customer": "customers/<customer>",
"orgUnitId": "ABCEDFG",
"deviceId": "<deviceId 1>",
"serialNumber": "HGFEDCBA",
"memoryStatusReport": [
{
"reportTime": "2023-02-15T11:18:51.383Z",
"systemRamFreeBytes": "112233445566778"
}
]
}
]
}
列出遥测用户数据
如需列出 Chrome 设备的遥测数据,请使用
/telemetry/users
端点发送。readMask
参数用于指定
设备字段。您可以使用
pageSize
和 pageToken
参数。
请求
curl -X GET \
-H "Authorization: Bearer $TOKEN" \
"https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/telemetry/users?readMask=name,customer,orgUnitId,userId,userEmail,user_device.device_id,user_device.audio_status_report,user_device.peripherals_report&pageSize=2"
响应
{
"telemetryUsers": [
{
"name": "customers/<customer>/telemetry/users/<userId>",
"customer": "customers/<customer>",
"orgUnitId": "ABCEDFG",
"userEmail": "<userId>",
"userEmail": "user@mytestdomain.com",
"userDevice": [
{
"deviceId": "HIJKLMNOP",
"audioStatusReport": [
{
"reportTime": "2021-04-25T13:23:55.880Z",
"outputMute": true,
"inputMute": true,
}
],
"peripheralsReport": [
{
"reportTime": "2021-04-25T18:25:55.880Z",
"usbPeripheralReport": [
{
"vendor": "Vendor",
"name": "Microphone",
}
]
}
]
}
]
},
{
"name": "customers/<customer>/telemetry/users/<userId>",
"customer": "customers/<customer>",
"orgUnitId": "QRSTUV",
"userEmail": "<userId>",
"userEmail": "user2@mytestdomain.com",
"userDevice": [
{
"deviceId": "WXYZ",
"audioStatusReport": [
{
"reportTime": "2021-04-25T13:23:55.880Z",
"outputMute": true,
"inputMute": true,
}
],
"peripheralsReport": [
{
"reportTime": "2021-04-25T18:25:55.880Z",
"usbPeripheralReport": [
{
"vendor": "Vendor",
"name": "Microphone",
}
]
}
]
}
]
}
],
"nextPageToken": "PAGE_TOKEN"
}
列出单个组织部门的遥测用户数据
如需列出单个组织部门的遥测数据,请使用 filter
参数中的 orgUnitId
值。
请求
curl -X GET \
-H "Authorization: Bearer $TOKEN" \
"https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/telemetry/users?readMask=name,customer,orgUnitId,userId,userEmail,user_device.device_id,user_device.audio_status_report,user_device.peripherals_report&pageSize=2&filter=orgUnitId=ABCDEFG"
响应
{
"telemetryUsers": [
{
"name": "customers/<customer>/telemetry/users/<userId>",
"customer": "customers/<customer>",
"orgUnitId": "ABCEDFG",
"userEmail": "<userId>",
"userEmail": "user@mytestdomain.com",
"userDevice": [
{
"deviceId": "HIJKLMNOP",
"audioStatusReport": [
{
"reportTime": "2021-04-25T13:23:55.880Z",
"outputMute": true,
"inputMute": true,
}
],
"peripheralsReport": [
{
"reportTime": "2021-04-25T18:25:55.880Z",
"usbPeripheralReport": [
{
"vendor": "Vendor",
"name": "Microphone",
}
]
}
]
}
]
}
]
}
列出遥测事件数据
如需列出客户的遥测事件,请使用 /telemetry/events
端点。readMask
参数用于指定要返回的字段。在不久的将来,readMask
参数将变为可选参数,而 filter
至少需要 1 种事件类型的参数。
默认情况下,响应中会包含事件的 name
、report_time
和 event_type
字段。您可以使用 pageSize
和 pageToken
参数控制结果的分页。此外,您还可以使用以下参数过滤结果:
- device_id
- user_id
- device_org_unit_id
- user_org_unit_id
- timestamp
<ph type="x-smartling-placeholder">
- </ph>
- 输入值可以是 EPOCH 毫秒,即
timestamp<1667423821001
或 RFC 3339(即timestamp<"2022-11-02T20:08:32.386Z"
- 输入值可以是 EPOCH 毫秒,即
- event_type
<ph type="x-smartling-placeholder">
- </ph>
- audio_severe_underrun
- network_connection_state_change
- usb_added
- usb_removed
- network_htps_latency_change
请求
curl -X GET \
-H "Authorization: Bearer $TOKEN" \
"https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/telemetry/events?readMask=device,usb_peripherals_event&filter=event_type=usb_added&pageSize=3"
响应
{
"telemetryEvents": [
{
"name": "customers/<customer>/telemetry/events/<event id>",
"device": {
"deviceId": "<device id>",
"orgUnitId": "<device’s org unit id>"
},
"reportTime": "2022-11-02T11:14:09.034Z",
"eventType": "USB_ADDED",
"usbPeripheralsEvent": {
"usbPeripheralReport": [
{
"vendor": "Microdia",
"name": "Integrated_Webcam_HD",
"vid": <vid>,
"pid": <pid>
}
]
}
},
{
"name": "customers/<customer>/telemetry/events/<event id>",
"device": {
"deviceId": "<device id>",
"orgUnitId": "<device’s org unit id>"
},
"reportTime": "2022-11-02T10:10:36.481Z",
"eventType": "USB_ADDED",
"usbPeripheralsEvent": {
"usbPeripheralReport": [
{
"vendor": "Hewlett-Packard",
"name": "x304m",
"vid": <vid>,
"pid": <pid>,
"categories": [
"Mass storage"
]
}
]
}
},
{
"name": "customers/<customer>/telemetry/events/<event id>",
"device": {
"deviceId": "<device id>",
"orgUnitId": "<device’s org unit id>"
},
"reportTime": "2022-11-02T09:58:48.249Z",
"eventType": "USB_ADDED",
"usbPeripheralsEvent": {
"usbPeripheralReport": [
{
"vendor": "Realtek Semiconductor Corp.",
"name": "USB 10/100/1000 LAN",
"vid": <vid>,
"pid": <pid>,
"categories": [
"Vendor Specific"
]
}
]
}
}
],
"nextPageToken": "<page token>"
}