Посетите Chrome Management Telemetry API , чтобы получить обзор функций API.
Все запросы, показанные ниже, используют следующие переменные:
-
$TOKEN
— токен OAuth 2. -
$CUSTOMER
— идентификатор клиента или литерал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"
}
Получение списка данных телеметрических устройств для одной организационной единицы
Чтобы вывести данные телеметрии для одного организационного подразделения, используйте значение orgUnitId
в параметре 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&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
.
Чтобы использовать этот фильтр, укажите значение reports_timestamp
в параметре filter
и включите значение временной метки либо в эпоху Unix в миллисекундах (т. е. 1679288169623
), либо в формате RFC 3339 «Zulu» (до девяти дробных цифр, т. е. "2023-02-15T11:18:51.383Z"
. "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, используйте ключевое слово AND
в параметре filter
и включите несколько критериев фильтрации.
Запрос
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"
}
Получение списка пользовательских данных телеметрии для одного организационного подразделения
Чтобы вывести данные телеметрии для одного организационного подразделения, используйте значение orgUnitId
в параметре filter
.
Запрос
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
с хотя бы одним типом события станет обязательным.
По умолчанию в ответ включаются поля name
события, report_time
и event_type
. Вы можете управлять нумерацией страниц результатов с помощью параметров pageSize
и pageToken
. Кроме того, вы можете фильтровать результаты по следующим параметрам:
- идентификатор_устройства
- ID пользователя
- device_org_unit_id
- user_org_unit_id
- временная метка
- Входное значение может быть либо миллисекундами EPOCH, т. е.
timestamp<1667423821001
, либо RFC 3339, т. е.timestamp<"2022-11-02T20:08:32.386Z"
- Входное значение может быть либо миллисекундами EPOCH, т. е.
- тип_события
- 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>"
}