Пространство имен: microsoft.graph
Важно!
API версии /beta в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Прием данных телеметрии датчика для устройства датчика на рабочем месте.
Этот API доступен в следующих национальных облачных развертываниях.
| Глобальная служба |
Правительство США L4 |
Правительство США L5 (DOD) |
Китай управляется 21Vianet |
| ✅ |
❌ |
❌ |
❌ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
| Тип разрешения |
Разрешения с наименьшими привилегиями |
Более высокие привилегированные разрешения |
| Делегированные (рабочая или учебная учетная запись) |
PlaceDevice.ReadWrite.All |
Недоступно. |
| Делегированные (личная учетная запись Майкрософт) |
Не поддерживается. |
Не поддерживается. |
| Приложение |
PlaceDeviceTelemetry.ReadWrite.All |
PlaceDevice.ReadWrite.All |
HTTP-запрос
POST /workplace/sensorDevices/ingestTelemetry
Текст запроса
В тексте запроса укажите представление параметров в формате JSON.
Свойство sensorId можно опустить в объекте workplaceSensorDeviceTelemetry для устройств с уникальными типами датчиков. Если это свойство опущено, значение sensorType выступает в качестве идентификатора по умолчанию, соответствующего поведению при создании устройства без указанного sensorId.
В следующей таблице показаны параметры, которые можно использовать с этим действием.
| Параметр |
Тип |
Описание |
| телеметрия |
коллекция workplaceSensorDeviceTelemetry |
Коллекция данных телеметрии, собираемых и сообщаемых датчиком на устройстве, таких как заполненность, количество людей, вывод о заполнении, температура и многое другое. |
Отклик
В случае успешного выполнения этот метод возвращает код отклика 204 No Content.
Примеры
Пример 1. Отправка данных телеметрии датчика для устройства с уникальными типами датчиков
В следующем примере показано, как отправлять данные телеметрии датчика для устройства с уникальными типами датчиков.
Запрос
Ниже показан пример запроса.
POST https://graph.microsoft.com/beta/workplace/sensorDevices/ingestTelemetry
Content-Type: application/json
{
"telemetry": [
{
"deviceId": "contoso_9D6816",
"sensorType": "occupancy",
"boolValue": false,
"timestamp": "2021-03-31T09:36:05.144Z"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Workplace.SensorDevices.IngestTelemetry;
using Microsoft.Graph.Beta.Models;
var requestBody = new IngestTelemetryPostRequestBody
{
Telemetry = new List<WorkplaceSensorDeviceTelemetry>
{
new WorkplaceSensorDeviceTelemetry
{
DeviceId = "contoso_9D6816",
SensorType = WorkplaceSensorType.Occupancy,
BoolValue = false,
Timestamp = DateTimeOffset.Parse("2021-03-31T09:36:05.144Z"),
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Workplace.SensorDevices.IngestTelemetry.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphworkplace "github.com/microsoftgraph/msgraph-beta-sdk-go/workplace"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphworkplace.NewIngestTelemetryPostRequestBody()
workplaceSensorDeviceTelemetry := graphmodels.NewWorkplaceSensorDeviceTelemetry()
deviceId := "contoso_9D6816"
workplaceSensorDeviceTelemetry.SetDeviceId(&deviceId)
sensorType := graphmodels.OCCUPANCY_WORKPLACESENSORTYPE
workplaceSensorDeviceTelemetry.SetSensorType(&sensorType)
boolValue := false
workplaceSensorDeviceTelemetry.SetBoolValue(&boolValue)
timestamp , err := time.Parse(time.RFC3339, "2021-03-31T09:36:05.144Z")
workplaceSensorDeviceTelemetry.SetTimestamp(×tamp)
telemetry := []graphmodels.WorkplaceSensorDeviceTelemetryable {
workplaceSensorDeviceTelemetry,
}
requestBody.SetTelemetry(telemetry)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.Workplace().SensorDevices().IngestTelemetry().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.workplace.sensordevices.ingesttelemetry.IngestTelemetryPostRequestBody ingestTelemetryPostRequestBody = new com.microsoft.graph.beta.workplace.sensordevices.ingesttelemetry.IngestTelemetryPostRequestBody();
LinkedList<WorkplaceSensorDeviceTelemetry> telemetry = new LinkedList<WorkplaceSensorDeviceTelemetry>();
WorkplaceSensorDeviceTelemetry workplaceSensorDeviceTelemetry = new WorkplaceSensorDeviceTelemetry();
workplaceSensorDeviceTelemetry.setDeviceId("contoso_9D6816");
workplaceSensorDeviceTelemetry.setSensorType(WorkplaceSensorType.Occupancy);
workplaceSensorDeviceTelemetry.setBoolValue(false);
OffsetDateTime timestamp = OffsetDateTime.parse("2021-03-31T09:36:05.144Z");
workplaceSensorDeviceTelemetry.setTimestamp(timestamp);
telemetry.add(workplaceSensorDeviceTelemetry);
ingestTelemetryPostRequestBody.setTelemetry(telemetry);
graphClient.workplace().sensorDevices().ingestTelemetry().post(ingestTelemetryPostRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const ingestTelemetry = {
telemetry: [
{
deviceId: 'contoso_9D6816',
sensorType: 'occupancy',
boolValue: false,
timestamp: '2021-03-31T09:36:05.144Z'
}
]
};
await client.api('/workplace/sensorDevices/ingestTelemetry')
.version('beta')
.post(ingestTelemetry);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Workplace\SensorDevices\IngestTelemetry\IngestTelemetryPostRequestBody;
use Microsoft\Graph\Beta\Generated\Models\WorkplaceSensorDeviceTelemetry;
use Microsoft\Graph\Beta\Generated\Models\WorkplaceSensorType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new IngestTelemetryPostRequestBody();
$telemetryWorkplaceSensorDeviceTelemetry1 = new WorkplaceSensorDeviceTelemetry();
$telemetryWorkplaceSensorDeviceTelemetry1->setDeviceId('contoso_9D6816');
$telemetryWorkplaceSensorDeviceTelemetry1->setSensorType(new WorkplaceSensorType('occupancy'));
$telemetryWorkplaceSensorDeviceTelemetry1->setBoolValue(false);
$telemetryWorkplaceSensorDeviceTelemetry1->setTimestamp(new \DateTime('2021-03-31T09:36:05.144Z'));
$telemetryArray []= $telemetryWorkplaceSensorDeviceTelemetry1;
$requestBody->setTelemetry($telemetryArray);
$graphServiceClient->workplace()->sensorDevices()->ingestTelemetry()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.workplace.sensordevices.ingest_telemetry.ingest_telemetry_post_request_body import IngestTelemetryPostRequestBody
from msgraph_beta.generated.models.workplace_sensor_device_telemetry import WorkplaceSensorDeviceTelemetry
from msgraph_beta.generated.models.workplace_sensor_type import WorkplaceSensorType
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = IngestTelemetryPostRequestBody(
telemetry = [
WorkplaceSensorDeviceTelemetry(
device_id = "contoso_9D6816",
sensor_type = WorkplaceSensorType.Occupancy,
bool_value = False,
timestamp = "2021-03-31T09:36:05.144Z",
),
],
)
await graph_client.workplace.sensor_devices.ingest_telemetry.post(request_body)
Отклик
Ниже показан пример отклика.
HTTP/1.1 204 No Content
Пример 2. Отправка данных телеметрии датчика для устройства с несколькими датчиками одного типа
В следующем примере показано, как отправлять данные телеметрии датчика для устройства с несколькими датчиками одного типа.
Запрос
Ниже показан пример запроса.
POST https://graph.microsoft.com/beta/workplace/sensorDevices/ingestTelemetry
Content-Type: application/json
{
"telemetry": [
{
"deviceId": "contoso_9D6816",
"sensorId": "occupancy_1",
"sensorType": "occupancy",
"boolValue": false,
"timestamp": "2021-03-31T09:36:05.144Z"
},
{
"deviceId": "contoso_9D6816",
"sensorId": "occupancy_2",
"sensorType": "occupancy",
"boolValue": false,
"timestamp": "2021-03-31T09:36:05.144Z"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Workplace.SensorDevices.IngestTelemetry;
using Microsoft.Graph.Beta.Models;
var requestBody = new IngestTelemetryPostRequestBody
{
Telemetry = new List<WorkplaceSensorDeviceTelemetry>
{
new WorkplaceSensorDeviceTelemetry
{
DeviceId = "contoso_9D6816",
SensorId = "occupancy_1",
SensorType = WorkplaceSensorType.Occupancy,
BoolValue = false,
Timestamp = DateTimeOffset.Parse("2021-03-31T09:36:05.144Z"),
},
new WorkplaceSensorDeviceTelemetry
{
DeviceId = "contoso_9D6816",
SensorId = "occupancy_2",
SensorType = WorkplaceSensorType.Occupancy,
BoolValue = false,
Timestamp = DateTimeOffset.Parse("2021-03-31T09:36:05.144Z"),
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Workplace.SensorDevices.IngestTelemetry.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphworkplace "github.com/microsoftgraph/msgraph-beta-sdk-go/workplace"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphworkplace.NewIngestTelemetryPostRequestBody()
workplaceSensorDeviceTelemetry := graphmodels.NewWorkplaceSensorDeviceTelemetry()
deviceId := "contoso_9D6816"
workplaceSensorDeviceTelemetry.SetDeviceId(&deviceId)
sensorId := "occupancy_1"
workplaceSensorDeviceTelemetry.SetSensorId(&sensorId)
sensorType := graphmodels.OCCUPANCY_WORKPLACESENSORTYPE
workplaceSensorDeviceTelemetry.SetSensorType(&sensorType)
boolValue := false
workplaceSensorDeviceTelemetry.SetBoolValue(&boolValue)
timestamp , err := time.Parse(time.RFC3339, "2021-03-31T09:36:05.144Z")
workplaceSensorDeviceTelemetry.SetTimestamp(×tamp)
workplaceSensorDeviceTelemetry1 := graphmodels.NewWorkplaceSensorDeviceTelemetry()
deviceId := "contoso_9D6816"
workplaceSensorDeviceTelemetry1.SetDeviceId(&deviceId)
sensorId := "occupancy_2"
workplaceSensorDeviceTelemetry1.SetSensorId(&sensorId)
sensorType := graphmodels.OCCUPANCY_WORKPLACESENSORTYPE
workplaceSensorDeviceTelemetry1.SetSensorType(&sensorType)
boolValue := false
workplaceSensorDeviceTelemetry1.SetBoolValue(&boolValue)
timestamp , err := time.Parse(time.RFC3339, "2021-03-31T09:36:05.144Z")
workplaceSensorDeviceTelemetry1.SetTimestamp(×tamp)
telemetry := []graphmodels.WorkplaceSensorDeviceTelemetryable {
workplaceSensorDeviceTelemetry,
workplaceSensorDeviceTelemetry1,
}
requestBody.SetTelemetry(telemetry)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.Workplace().SensorDevices().IngestTelemetry().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.workplace.sensordevices.ingesttelemetry.IngestTelemetryPostRequestBody ingestTelemetryPostRequestBody = new com.microsoft.graph.beta.workplace.sensordevices.ingesttelemetry.IngestTelemetryPostRequestBody();
LinkedList<WorkplaceSensorDeviceTelemetry> telemetry = new LinkedList<WorkplaceSensorDeviceTelemetry>();
WorkplaceSensorDeviceTelemetry workplaceSensorDeviceTelemetry = new WorkplaceSensorDeviceTelemetry();
workplaceSensorDeviceTelemetry.setDeviceId("contoso_9D6816");
workplaceSensorDeviceTelemetry.setSensorId("occupancy_1");
workplaceSensorDeviceTelemetry.setSensorType(WorkplaceSensorType.Occupancy);
workplaceSensorDeviceTelemetry.setBoolValue(false);
OffsetDateTime timestamp = OffsetDateTime.parse("2021-03-31T09:36:05.144Z");
workplaceSensorDeviceTelemetry.setTimestamp(timestamp);
telemetry.add(workplaceSensorDeviceTelemetry);
WorkplaceSensorDeviceTelemetry workplaceSensorDeviceTelemetry1 = new WorkplaceSensorDeviceTelemetry();
workplaceSensorDeviceTelemetry1.setDeviceId("contoso_9D6816");
workplaceSensorDeviceTelemetry1.setSensorId("occupancy_2");
workplaceSensorDeviceTelemetry1.setSensorType(WorkplaceSensorType.Occupancy);
workplaceSensorDeviceTelemetry1.setBoolValue(false);
OffsetDateTime timestamp1 = OffsetDateTime.parse("2021-03-31T09:36:05.144Z");
workplaceSensorDeviceTelemetry1.setTimestamp(timestamp1);
telemetry.add(workplaceSensorDeviceTelemetry1);
ingestTelemetryPostRequestBody.setTelemetry(telemetry);
graphClient.workplace().sensorDevices().ingestTelemetry().post(ingestTelemetryPostRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const ingestTelemetry = {
telemetry: [
{
deviceId: 'contoso_9D6816',
sensorId: 'occupancy_1',
sensorType: 'occupancy',
boolValue: false,
timestamp: '2021-03-31T09:36:05.144Z'
},
{
deviceId: 'contoso_9D6816',
sensorId: 'occupancy_2',
sensorType: 'occupancy',
boolValue: false,
timestamp: '2021-03-31T09:36:05.144Z'
}
]
};
await client.api('/workplace/sensorDevices/ingestTelemetry')
.version('beta')
.post(ingestTelemetry);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Workplace\SensorDevices\IngestTelemetry\IngestTelemetryPostRequestBody;
use Microsoft\Graph\Beta\Generated\Models\WorkplaceSensorDeviceTelemetry;
use Microsoft\Graph\Beta\Generated\Models\WorkplaceSensorType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new IngestTelemetryPostRequestBody();
$telemetryWorkplaceSensorDeviceTelemetry1 = new WorkplaceSensorDeviceTelemetry();
$telemetryWorkplaceSensorDeviceTelemetry1->setDeviceId('contoso_9D6816');
$telemetryWorkplaceSensorDeviceTelemetry1->setSensorId('occupancy_1');
$telemetryWorkplaceSensorDeviceTelemetry1->setSensorType(new WorkplaceSensorType('occupancy'));
$telemetryWorkplaceSensorDeviceTelemetry1->setBoolValue(false);
$telemetryWorkplaceSensorDeviceTelemetry1->setTimestamp(new \DateTime('2021-03-31T09:36:05.144Z'));
$telemetryArray []= $telemetryWorkplaceSensorDeviceTelemetry1;
$telemetryWorkplaceSensorDeviceTelemetry2 = new WorkplaceSensorDeviceTelemetry();
$telemetryWorkplaceSensorDeviceTelemetry2->setDeviceId('contoso_9D6816');
$telemetryWorkplaceSensorDeviceTelemetry2->setSensorId('occupancy_2');
$telemetryWorkplaceSensorDeviceTelemetry2->setSensorType(new WorkplaceSensorType('occupancy'));
$telemetryWorkplaceSensorDeviceTelemetry2->setBoolValue(false);
$telemetryWorkplaceSensorDeviceTelemetry2->setTimestamp(new \DateTime('2021-03-31T09:36:05.144Z'));
$telemetryArray []= $telemetryWorkplaceSensorDeviceTelemetry2;
$requestBody->setTelemetry($telemetryArray);
$graphServiceClient->workplace()->sensorDevices()->ingestTelemetry()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.workplace.sensordevices.ingest_telemetry.ingest_telemetry_post_request_body import IngestTelemetryPostRequestBody
from msgraph_beta.generated.models.workplace_sensor_device_telemetry import WorkplaceSensorDeviceTelemetry
from msgraph_beta.generated.models.workplace_sensor_type import WorkplaceSensorType
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = IngestTelemetryPostRequestBody(
telemetry = [
WorkplaceSensorDeviceTelemetry(
device_id = "contoso_9D6816",
sensor_id = "occupancy_1",
sensor_type = WorkplaceSensorType.Occupancy,
bool_value = False,
timestamp = "2021-03-31T09:36:05.144Z",
),
WorkplaceSensorDeviceTelemetry(
device_id = "contoso_9D6816",
sensor_id = "occupancy_2",
sensor_type = WorkplaceSensorType.Occupancy,
bool_value = False,
timestamp = "2021-03-31T09:36:05.144Z",
),
],
)
await graph_client.workplace.sensor_devices.ingest_telemetry.post(request_body)
Отклик
Ниже показан пример отклика.
HTTP/1.1 204 No Content
Пример 3. Прием данных телеметрии для нескольких устройств
В следующем примере показано, как принимать данные телеметрии для нескольких устройств.
Запрос
Ниже показан пример запроса.
POST https://graph.microsoft.com/beta/workplace/sensorDevices/ingestTelemetry
Content-Type: application/json
{
"telemetry": [
{
"deviceId": "contoso_9D6816",
"sensorType": "occupancy",
"boolValue": false,
"timestamp": "2021-03-31T09:36:05.144Z"
},
{
"deviceId": "contoso_9D6817",
"sensorType": "occupancy",
"boolValue": false,
"timestamp": "2021-03-31T09:36:05.144Z"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Workplace.SensorDevices.IngestTelemetry;
using Microsoft.Graph.Beta.Models;
var requestBody = new IngestTelemetryPostRequestBody
{
Telemetry = new List<WorkplaceSensorDeviceTelemetry>
{
new WorkplaceSensorDeviceTelemetry
{
DeviceId = "contoso_9D6816",
SensorType = WorkplaceSensorType.Occupancy,
BoolValue = false,
Timestamp = DateTimeOffset.Parse("2021-03-31T09:36:05.144Z"),
},
new WorkplaceSensorDeviceTelemetry
{
DeviceId = "contoso_9D6817",
SensorType = WorkplaceSensorType.Occupancy,
BoolValue = false,
Timestamp = DateTimeOffset.Parse("2021-03-31T09:36:05.144Z"),
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Workplace.SensorDevices.IngestTelemetry.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphworkplace "github.com/microsoftgraph/msgraph-beta-sdk-go/workplace"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphworkplace.NewIngestTelemetryPostRequestBody()
workplaceSensorDeviceTelemetry := graphmodels.NewWorkplaceSensorDeviceTelemetry()
deviceId := "contoso_9D6816"
workplaceSensorDeviceTelemetry.SetDeviceId(&deviceId)
sensorType := graphmodels.OCCUPANCY_WORKPLACESENSORTYPE
workplaceSensorDeviceTelemetry.SetSensorType(&sensorType)
boolValue := false
workplaceSensorDeviceTelemetry.SetBoolValue(&boolValue)
timestamp , err := time.Parse(time.RFC3339, "2021-03-31T09:36:05.144Z")
workplaceSensorDeviceTelemetry.SetTimestamp(×tamp)
workplaceSensorDeviceTelemetry1 := graphmodels.NewWorkplaceSensorDeviceTelemetry()
deviceId := "contoso_9D6817"
workplaceSensorDeviceTelemetry1.SetDeviceId(&deviceId)
sensorType := graphmodels.OCCUPANCY_WORKPLACESENSORTYPE
workplaceSensorDeviceTelemetry1.SetSensorType(&sensorType)
boolValue := false
workplaceSensorDeviceTelemetry1.SetBoolValue(&boolValue)
timestamp , err := time.Parse(time.RFC3339, "2021-03-31T09:36:05.144Z")
workplaceSensorDeviceTelemetry1.SetTimestamp(×tamp)
telemetry := []graphmodels.WorkplaceSensorDeviceTelemetryable {
workplaceSensorDeviceTelemetry,
workplaceSensorDeviceTelemetry1,
}
requestBody.SetTelemetry(telemetry)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.Workplace().SensorDevices().IngestTelemetry().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.workplace.sensordevices.ingesttelemetry.IngestTelemetryPostRequestBody ingestTelemetryPostRequestBody = new com.microsoft.graph.beta.workplace.sensordevices.ingesttelemetry.IngestTelemetryPostRequestBody();
LinkedList<WorkplaceSensorDeviceTelemetry> telemetry = new LinkedList<WorkplaceSensorDeviceTelemetry>();
WorkplaceSensorDeviceTelemetry workplaceSensorDeviceTelemetry = new WorkplaceSensorDeviceTelemetry();
workplaceSensorDeviceTelemetry.setDeviceId("contoso_9D6816");
workplaceSensorDeviceTelemetry.setSensorType(WorkplaceSensorType.Occupancy);
workplaceSensorDeviceTelemetry.setBoolValue(false);
OffsetDateTime timestamp = OffsetDateTime.parse("2021-03-31T09:36:05.144Z");
workplaceSensorDeviceTelemetry.setTimestamp(timestamp);
telemetry.add(workplaceSensorDeviceTelemetry);
WorkplaceSensorDeviceTelemetry workplaceSensorDeviceTelemetry1 = new WorkplaceSensorDeviceTelemetry();
workplaceSensorDeviceTelemetry1.setDeviceId("contoso_9D6817");
workplaceSensorDeviceTelemetry1.setSensorType(WorkplaceSensorType.Occupancy);
workplaceSensorDeviceTelemetry1.setBoolValue(false);
OffsetDateTime timestamp1 = OffsetDateTime.parse("2021-03-31T09:36:05.144Z");
workplaceSensorDeviceTelemetry1.setTimestamp(timestamp1);
telemetry.add(workplaceSensorDeviceTelemetry1);
ingestTelemetryPostRequestBody.setTelemetry(telemetry);
graphClient.workplace().sensorDevices().ingestTelemetry().post(ingestTelemetryPostRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const ingestTelemetry = {
telemetry: [
{
deviceId: 'contoso_9D6816',
sensorType: 'occupancy',
boolValue: false,
timestamp: '2021-03-31T09:36:05.144Z'
},
{
deviceId: 'contoso_9D6817',
sensorType: 'occupancy',
boolValue: false,
timestamp: '2021-03-31T09:36:05.144Z'
}
]
};
await client.api('/workplace/sensorDevices/ingestTelemetry')
.version('beta')
.post(ingestTelemetry);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Workplace\SensorDevices\IngestTelemetry\IngestTelemetryPostRequestBody;
use Microsoft\Graph\Beta\Generated\Models\WorkplaceSensorDeviceTelemetry;
use Microsoft\Graph\Beta\Generated\Models\WorkplaceSensorType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new IngestTelemetryPostRequestBody();
$telemetryWorkplaceSensorDeviceTelemetry1 = new WorkplaceSensorDeviceTelemetry();
$telemetryWorkplaceSensorDeviceTelemetry1->setDeviceId('contoso_9D6816');
$telemetryWorkplaceSensorDeviceTelemetry1->setSensorType(new WorkplaceSensorType('occupancy'));
$telemetryWorkplaceSensorDeviceTelemetry1->setBoolValue(false);
$telemetryWorkplaceSensorDeviceTelemetry1->setTimestamp(new \DateTime('2021-03-31T09:36:05.144Z'));
$telemetryArray []= $telemetryWorkplaceSensorDeviceTelemetry1;
$telemetryWorkplaceSensorDeviceTelemetry2 = new WorkplaceSensorDeviceTelemetry();
$telemetryWorkplaceSensorDeviceTelemetry2->setDeviceId('contoso_9D6817');
$telemetryWorkplaceSensorDeviceTelemetry2->setSensorType(new WorkplaceSensorType('occupancy'));
$telemetryWorkplaceSensorDeviceTelemetry2->setBoolValue(false);
$telemetryWorkplaceSensorDeviceTelemetry2->setTimestamp(new \DateTime('2021-03-31T09:36:05.144Z'));
$telemetryArray []= $telemetryWorkplaceSensorDeviceTelemetry2;
$requestBody->setTelemetry($telemetryArray);
$graphServiceClient->workplace()->sensorDevices()->ingestTelemetry()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.workplace.sensordevices.ingest_telemetry.ingest_telemetry_post_request_body import IngestTelemetryPostRequestBody
from msgraph_beta.generated.models.workplace_sensor_device_telemetry import WorkplaceSensorDeviceTelemetry
from msgraph_beta.generated.models.workplace_sensor_type import WorkplaceSensorType
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = IngestTelemetryPostRequestBody(
telemetry = [
WorkplaceSensorDeviceTelemetry(
device_id = "contoso_9D6816",
sensor_type = WorkplaceSensorType.Occupancy,
bool_value = False,
timestamp = "2021-03-31T09:36:05.144Z",
),
WorkplaceSensorDeviceTelemetry(
device_id = "contoso_9D6817",
sensor_type = WorkplaceSensorType.Occupancy,
bool_value = False,
timestamp = "2021-03-31T09:36:05.144Z",
),
],
)
await graph_client.workplace.sensor_devices.ingest_telemetry.post(request_body)
Отклик
Ниже приводится пример отклика.
HTTP/1.1 204 No Content