Namespace: microsoft.graph
Importante
As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Atualize as propriedades de um dispositivo sensor do local de trabalho.
Essa API está disponível nas seguintes implantações de nuvem nacional.
| Serviço global |
Governo dos EUA L4 |
US Government L5 (DOD) |
China operada pela 21Vianet |
| ✅ |
✅ |
✅ |
❌ |
Permissões
Escolha a(s) permissão(s) marcada(s) como menos privilegiada(s) para essa API. Use uma permissão ou permissões com privilégios mais altos somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.
Observação
Para um aplicativo com permissões delegadas para gravar dispositivos de local de trabalho, o usuário conectado deve ser membro da função de administrador do Exchange Online TenantPlacesManagement.
| Tipo de permissão |
Permissões menos privilegiadas |
Permissões com privilégios mais elevados |
| Delegado (conta corporativa ou de estudante) |
PlaceDevice.ReadWrite.All |
Indisponível. |
| Delegado (conta pessoal da Microsoft) |
Sem suporte. |
Sem suporte. |
| Application |
PlaceDevice.ReadWrite.All |
Indisponível. |
Solicitação HTTP
PATCH /workplace/sensorDevices/{id}
| Nome |
Descrição |
| Autorização |
{token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
| Content-Type |
application/json. Obrigatório. |
Corpo da solicitação
No corpo da solicitação, forneça todo o JSON para o objeto workplaceSensorDevice com os campos atualizados. Não há suporte para atualizações parciais. Se alguma propriedade opcional for excluída, ela será definida como nula. Para adicionar novos sensores, acrescente um novo objeto sensor à coleção de sensores existente. Se um objeto sensor for removido da coleção, ele será excluído do dispositivo.
A tabela a seguir especifica as propriedades que podem ser atualizadas.
| Propriedade |
Tipo |
Descrição |
| description |
Cadeia de caracteres |
A descrição do dispositivo. Opcional. |
| deviceId |
Cadeia de caracteres |
O identificador exclusivo definido pelo usuário do dispositivo fornecido no momento da criação. Obrigatório. Somente leitura. |
| displayName |
Cadeia de caracteres |
O nome de exibição do dispositivo. Opcional. |
| ipV4Address |
Cadeia de caracteres |
O endereço IPv4 do dispositivo. Opcional. |
| ipV6Address |
Cadeia de caracteres |
O endereço IPv6 do dispositivo. Opcional. |
| macAddress |
Cadeia de caracteres |
O endereço MAC do dispositivo. Opcional. |
| fabricante |
Cadeia de caracteres |
O fabricante do dispositivo. Obrigatório. |
| placeId |
Cadeia de caracteres |
O identificador exclusivo do local onde o dispositivo está localizado. Se o dispositivo estiver instalado em uma sala equipada com uma caixa de correio, essa propriedade deverá corresponder ao ExternalDirectoryObjectId ou à ID do objeto do Microsoft Entra da caixa de correio da sala. Opcional. |
| de dados |
workplaceSensor collection |
Uma lista de sensores associados ao dispositivo que coletam e relatam dados sobre condições físicas ou ambientais, como ocupação, contagem de pessoas, ocupação inferida, temperatura e muito mais. Obrigatório. |
| marcações |
String collection |
Uma lista de marcas personalizadas associadas ao dispositivo. Oferece suporte para $filter. Opcional. |
Resposta
Se for bem-sucedido, esse método retornará um código de 200 OK resposta e um objeto workplaceSensorDevice atualizado no corpo da resposta.
Exemplos
Exemplo 1: adicionar uma nova marca
O exemplo a seguir mostra como adicionar uma nova tag a um dispositivo sensor de local de trabalho.
Solicitação
O exemplo a seguir mostra uma solicitação.
PATCH https://graph.microsoft.com/beta/workplace/sensorDevices/ade7078f-4bf5-4239-bfde-95a7c4225df7
Content-Type: application/json
{
"deviceId": "contoso_9D6816",
"displayName": "Contoso 9D6816 Device",
"description": "Contoso 9D6816 Device",
"macAddress": "00:0A:95:9D:68:16",
"manufacturer": "Contoso",
"ipV4Address": "192.168.1.100",
"ipV6Address": "2001:db8::ff00:42:8329",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671",
"tags": [
"Building A",
"Floor 3",
"Room 301",
"Conference Room",
"v1.0.7"
],
"sensors": [
{
"sensorType": "occupancy"
},
{
"sensorType": "peopleCount"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new WorkplaceSensorDevice
{
DeviceId = "contoso_9D6816",
DisplayName = "Contoso 9D6816 Device",
Description = "Contoso 9D6816 Device",
MacAddress = "00:0A:95:9D:68:16",
Manufacturer = "Contoso",
IpV4Address = "192.168.1.100",
IpV6Address = "2001:db8::ff00:42:8329",
PlaceId = "acfa3bc0-2b83-425b-8910-84a0250e9671",
Tags = new List<string>
{
"Building A",
"Floor 3",
"Room 301",
"Conference Room",
"v1.0.7",
},
Sensors = new List<WorkplaceSensor>
{
new WorkplaceSensor
{
SensorType = WorkplaceSensorType.Occupancy,
},
new WorkplaceSensor
{
SensorType = WorkplaceSensorType.PeopleCount,
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Workplace.SensorDevices["{workplaceSensorDevice-id}"].PatchAsync(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"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewWorkplaceSensorDevice()
deviceId := "contoso_9D6816"
requestBody.SetDeviceId(&deviceId)
displayName := "Contoso 9D6816 Device"
requestBody.SetDisplayName(&displayName)
description := "Contoso 9D6816 Device"
requestBody.SetDescription(&description)
macAddress := "00:0A:95:9D:68:16"
requestBody.SetMacAddress(&macAddress)
manufacturer := "Contoso"
requestBody.SetManufacturer(&manufacturer)
ipV4Address := "192.168.1.100"
requestBody.SetIpV4Address(&ipV4Address)
ipV6Address := "2001:db8::ff00:42:8329"
requestBody.SetIpV6Address(&ipV6Address)
placeId := "acfa3bc0-2b83-425b-8910-84a0250e9671"
requestBody.SetPlaceId(&placeId)
tags := []string {
"Building A",
"Floor 3",
"Room 301",
"Conference Room",
"v1.0.7",
}
requestBody.SetTags(tags)
workplaceSensor := graphmodels.NewWorkplaceSensor()
sensorType := graphmodels.OCCUPANCY_WORKPLACESENSORTYPE
workplaceSensor.SetSensorType(&sensorType)
workplaceSensor1 := graphmodels.NewWorkplaceSensor()
sensorType := graphmodels.PEOPLECOUNT_WORKPLACESENSORTYPE
workplaceSensor1.SetSensorType(&sensorType)
sensors := []graphmodels.WorkplaceSensorable {
workplaceSensor,
workplaceSensor1,
}
requestBody.SetSensors(sensors)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
sensorDevices, err := graphClient.Workplace().SensorDevices().ByWorkplaceSensorDeviceId("workplaceSensorDevice-id").Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
WorkplaceSensorDevice workplaceSensorDevice = new WorkplaceSensorDevice();
workplaceSensorDevice.setDeviceId("contoso_9D6816");
workplaceSensorDevice.setDisplayName("Contoso 9D6816 Device");
workplaceSensorDevice.setDescription("Contoso 9D6816 Device");
workplaceSensorDevice.setMacAddress("00:0A:95:9D:68:16");
workplaceSensorDevice.setManufacturer("Contoso");
workplaceSensorDevice.setIpV4Address("192.168.1.100");
workplaceSensorDevice.setIpV6Address("2001:db8::ff00:42:8329");
workplaceSensorDevice.setPlaceId("acfa3bc0-2b83-425b-8910-84a0250e9671");
LinkedList<String> tags = new LinkedList<String>();
tags.add("Building A");
tags.add("Floor 3");
tags.add("Room 301");
tags.add("Conference Room");
tags.add("v1.0.7");
workplaceSensorDevice.setTags(tags);
LinkedList<WorkplaceSensor> sensors = new LinkedList<WorkplaceSensor>();
WorkplaceSensor workplaceSensor = new WorkplaceSensor();
workplaceSensor.setSensorType(WorkplaceSensorType.Occupancy);
sensors.add(workplaceSensor);
WorkplaceSensor workplaceSensor1 = new WorkplaceSensor();
workplaceSensor1.setSensorType(WorkplaceSensorType.PeopleCount);
sensors.add(workplaceSensor1);
workplaceSensorDevice.setSensors(sensors);
WorkplaceSensorDevice result = graphClient.workplace().sensorDevices().byWorkplaceSensorDeviceId("{workplaceSensorDevice-id}").patch(workplaceSensorDevice);
const options = {
authProvider,
};
const client = Client.init(options);
const workplaceSensorDevice = {
deviceId: 'contoso_9D6816',
displayName: 'Contoso 9D6816 Device',
description: 'Contoso 9D6816 Device',
macAddress: '00:0A:95:9D:68:16',
manufacturer: 'Contoso',
ipV4Address: '192.168.1.100',
ipV6Address: '2001:db8::ff00:42:8329',
placeId: 'acfa3bc0-2b83-425b-8910-84a0250e9671',
tags: [
'Building A',
'Floor 3',
'Room 301',
'Conference Room',
'v1.0.7'
],
sensors: [
{
sensorType: 'occupancy'
},
{
sensorType: 'peopleCount'
}
]
};
await client.api('/workplace/sensorDevices/ade7078f-4bf5-4239-bfde-95a7c4225df7')
.version('beta')
.update(workplaceSensorDevice);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\WorkplaceSensorDevice;
use Microsoft\Graph\Beta\Generated\Models\WorkplaceSensor;
use Microsoft\Graph\Beta\Generated\Models\WorkplaceSensorType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new WorkplaceSensorDevice();
$requestBody->setDeviceId('contoso_9D6816');
$requestBody->setDisplayName('Contoso 9D6816 Device');
$requestBody->setDescription('Contoso 9D6816 Device');
$requestBody->setMacAddress('00:0A:95:9D:68:16');
$requestBody->setManufacturer('Contoso');
$requestBody->setIpV4Address('192.168.1.100');
$requestBody->setIpV6Address('2001:db8::ff00:42:8329');
$requestBody->setPlaceId('acfa3bc0-2b83-425b-8910-84a0250e9671');
$requestBody->setTags(['Building A', 'Floor 3', 'Room 301', 'Conference Room', 'v1.0.7', ]);
$sensorsWorkplaceSensor1 = new WorkplaceSensor();
$sensorsWorkplaceSensor1->setSensorType(new WorkplaceSensorType('occupancy'));
$sensorsArray []= $sensorsWorkplaceSensor1;
$sensorsWorkplaceSensor2 = new WorkplaceSensor();
$sensorsWorkplaceSensor2->setSensorType(new WorkplaceSensorType('peopleCount'));
$sensorsArray []= $sensorsWorkplaceSensor2;
$requestBody->setSensors($sensorsArray);
$result = $graphServiceClient->workplace()->sensorDevices()->byWorkplaceSensorDeviceId('workplaceSensorDevice-id')->patch($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.models.workplace_sensor_device import WorkplaceSensorDevice
from msgraph_beta.generated.models.workplace_sensor import WorkplaceSensor
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 = WorkplaceSensorDevice(
device_id = "contoso_9D6816",
display_name = "Contoso 9D6816 Device",
description = "Contoso 9D6816 Device",
mac_address = "00:0A:95:9D:68:16",
manufacturer = "Contoso",
ip_v4_address = "192.168.1.100",
ip_v6_address = "2001:db8::ff00:42:8329",
place_id = "acfa3bc0-2b83-425b-8910-84a0250e9671",
tags = [
"Building A",
"Floor 3",
"Room 301",
"Conference Room",
"v1.0.7",
],
sensors = [
WorkplaceSensor(
sensor_type = WorkplaceSensorType.Occupancy,
),
WorkplaceSensor(
sensor_type = WorkplaceSensorType.PeopleCount,
),
],
)
result = await graph_client.workplace.sensor_devices.by_workplace_sensor_device_id('workplaceSensorDevice-id').patch(request_body)
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#workplace/sensorDevices/$entity",
"id": "ade7078f-4bf5-4239-bfde-95a7c4225df7",
"deviceId": "contoso_9D6816",
"displayName": "Contoso 9D6816 Device",
"description": "Contoso 9D6816 Device",
"macAddress": "00:0A:95:9D:68:16",
"manufacturer": "Contoso",
"ipV4Address": "192.168.1.100",
"ipV6Address": "2001:db8::ff00:42:8329",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671",
"tags": [
"Building A",
"Floor 3",
"Room 301",
"Conference Room",
"v1.0.7"
],
"sensors": [
{
"sensorId": "Occupancy",
"displayName": null,
"sensorType": "occupancy",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671"
},
{
"sensorId": "PeopleCount",
"displayName": null,
"sensorType": "peopleCount",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671"
}
]
}
Exemplo 2: Adicionar um novo sensor
O exemplo a seguir mostra como adicionar um novo sensor a um dispositivo sensor de local de trabalho.
Solicitação
O exemplo a seguir mostra uma solicitação.
PATCH https://graph.microsoft.com/beta/workplace/sensorDevices/ade7078f-4bf5-4239-bfde-95a7c4225df7
Content-Type: application/json
{
"deviceId": "contoso_9D6816",
"displayName": "Contoso 9D6816 Device",
"description": "Contoso 9D6816 Device",
"macAddress": "00:0A:95:9D:68:16",
"manufacturer": "Contoso",
"ipV4Address": "192.168.1.100",
"ipV6Address": "2001:db8::ff00:42:8329",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671",
"tags": [
"Building A",
"Floor 3",
"Room 301",
"Conference Room"
],
"sensors": [
{
"sensorType": "occupancy"
},
{
"sensorType": "peopleCount"
},
{
"sensorType": "inferredOccupancy"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new WorkplaceSensorDevice
{
DeviceId = "contoso_9D6816",
DisplayName = "Contoso 9D6816 Device",
Description = "Contoso 9D6816 Device",
MacAddress = "00:0A:95:9D:68:16",
Manufacturer = "Contoso",
IpV4Address = "192.168.1.100",
IpV6Address = "2001:db8::ff00:42:8329",
PlaceId = "acfa3bc0-2b83-425b-8910-84a0250e9671",
Tags = new List<string>
{
"Building A",
"Floor 3",
"Room 301",
"Conference Room",
},
Sensors = new List<WorkplaceSensor>
{
new WorkplaceSensor
{
SensorType = WorkplaceSensorType.Occupancy,
},
new WorkplaceSensor
{
SensorType = WorkplaceSensorType.PeopleCount,
},
new WorkplaceSensor
{
SensorType = WorkplaceSensorType.InferredOccupancy,
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Workplace.SensorDevices["{workplaceSensorDevice-id}"].PatchAsync(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"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewWorkplaceSensorDevice()
deviceId := "contoso_9D6816"
requestBody.SetDeviceId(&deviceId)
displayName := "Contoso 9D6816 Device"
requestBody.SetDisplayName(&displayName)
description := "Contoso 9D6816 Device"
requestBody.SetDescription(&description)
macAddress := "00:0A:95:9D:68:16"
requestBody.SetMacAddress(&macAddress)
manufacturer := "Contoso"
requestBody.SetManufacturer(&manufacturer)
ipV4Address := "192.168.1.100"
requestBody.SetIpV4Address(&ipV4Address)
ipV6Address := "2001:db8::ff00:42:8329"
requestBody.SetIpV6Address(&ipV6Address)
placeId := "acfa3bc0-2b83-425b-8910-84a0250e9671"
requestBody.SetPlaceId(&placeId)
tags := []string {
"Building A",
"Floor 3",
"Room 301",
"Conference Room",
}
requestBody.SetTags(tags)
workplaceSensor := graphmodels.NewWorkplaceSensor()
sensorType := graphmodels.OCCUPANCY_WORKPLACESENSORTYPE
workplaceSensor.SetSensorType(&sensorType)
workplaceSensor1 := graphmodels.NewWorkplaceSensor()
sensorType := graphmodels.PEOPLECOUNT_WORKPLACESENSORTYPE
workplaceSensor1.SetSensorType(&sensorType)
workplaceSensor2 := graphmodels.NewWorkplaceSensor()
sensorType := graphmodels.INFERREDOCCUPANCY_WORKPLACESENSORTYPE
workplaceSensor2.SetSensorType(&sensorType)
sensors := []graphmodels.WorkplaceSensorable {
workplaceSensor,
workplaceSensor1,
workplaceSensor2,
}
requestBody.SetSensors(sensors)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
sensorDevices, err := graphClient.Workplace().SensorDevices().ByWorkplaceSensorDeviceId("workplaceSensorDevice-id").Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
WorkplaceSensorDevice workplaceSensorDevice = new WorkplaceSensorDevice();
workplaceSensorDevice.setDeviceId("contoso_9D6816");
workplaceSensorDevice.setDisplayName("Contoso 9D6816 Device");
workplaceSensorDevice.setDescription("Contoso 9D6816 Device");
workplaceSensorDevice.setMacAddress("00:0A:95:9D:68:16");
workplaceSensorDevice.setManufacturer("Contoso");
workplaceSensorDevice.setIpV4Address("192.168.1.100");
workplaceSensorDevice.setIpV6Address("2001:db8::ff00:42:8329");
workplaceSensorDevice.setPlaceId("acfa3bc0-2b83-425b-8910-84a0250e9671");
LinkedList<String> tags = new LinkedList<String>();
tags.add("Building A");
tags.add("Floor 3");
tags.add("Room 301");
tags.add("Conference Room");
workplaceSensorDevice.setTags(tags);
LinkedList<WorkplaceSensor> sensors = new LinkedList<WorkplaceSensor>();
WorkplaceSensor workplaceSensor = new WorkplaceSensor();
workplaceSensor.setSensorType(WorkplaceSensorType.Occupancy);
sensors.add(workplaceSensor);
WorkplaceSensor workplaceSensor1 = new WorkplaceSensor();
workplaceSensor1.setSensorType(WorkplaceSensorType.PeopleCount);
sensors.add(workplaceSensor1);
WorkplaceSensor workplaceSensor2 = new WorkplaceSensor();
workplaceSensor2.setSensorType(WorkplaceSensorType.InferredOccupancy);
sensors.add(workplaceSensor2);
workplaceSensorDevice.setSensors(sensors);
WorkplaceSensorDevice result = graphClient.workplace().sensorDevices().byWorkplaceSensorDeviceId("{workplaceSensorDevice-id}").patch(workplaceSensorDevice);
const options = {
authProvider,
};
const client = Client.init(options);
const workplaceSensorDevice = {
deviceId: 'contoso_9D6816',
displayName: 'Contoso 9D6816 Device',
description: 'Contoso 9D6816 Device',
macAddress: '00:0A:95:9D:68:16',
manufacturer: 'Contoso',
ipV4Address: '192.168.1.100',
ipV6Address: '2001:db8::ff00:42:8329',
placeId: 'acfa3bc0-2b83-425b-8910-84a0250e9671',
tags: [
'Building A',
'Floor 3',
'Room 301',
'Conference Room'
],
sensors: [
{
sensorType: 'occupancy'
},
{
sensorType: 'peopleCount'
},
{
sensorType: 'inferredOccupancy'
}
]
};
await client.api('/workplace/sensorDevices/ade7078f-4bf5-4239-bfde-95a7c4225df7')
.version('beta')
.update(workplaceSensorDevice);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\WorkplaceSensorDevice;
use Microsoft\Graph\Beta\Generated\Models\WorkplaceSensor;
use Microsoft\Graph\Beta\Generated\Models\WorkplaceSensorType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new WorkplaceSensorDevice();
$requestBody->setDeviceId('contoso_9D6816');
$requestBody->setDisplayName('Contoso 9D6816 Device');
$requestBody->setDescription('Contoso 9D6816 Device');
$requestBody->setMacAddress('00:0A:95:9D:68:16');
$requestBody->setManufacturer('Contoso');
$requestBody->setIpV4Address('192.168.1.100');
$requestBody->setIpV6Address('2001:db8::ff00:42:8329');
$requestBody->setPlaceId('acfa3bc0-2b83-425b-8910-84a0250e9671');
$requestBody->setTags(['Building A', 'Floor 3', 'Room 301', 'Conference Room', ]);
$sensorsWorkplaceSensor1 = new WorkplaceSensor();
$sensorsWorkplaceSensor1->setSensorType(new WorkplaceSensorType('occupancy'));
$sensorsArray []= $sensorsWorkplaceSensor1;
$sensorsWorkplaceSensor2 = new WorkplaceSensor();
$sensorsWorkplaceSensor2->setSensorType(new WorkplaceSensorType('peopleCount'));
$sensorsArray []= $sensorsWorkplaceSensor2;
$sensorsWorkplaceSensor3 = new WorkplaceSensor();
$sensorsWorkplaceSensor3->setSensorType(new WorkplaceSensorType('inferredOccupancy'));
$sensorsArray []= $sensorsWorkplaceSensor3;
$requestBody->setSensors($sensorsArray);
$result = $graphServiceClient->workplace()->sensorDevices()->byWorkplaceSensorDeviceId('workplaceSensorDevice-id')->patch($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.models.workplace_sensor_device import WorkplaceSensorDevice
from msgraph_beta.generated.models.workplace_sensor import WorkplaceSensor
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 = WorkplaceSensorDevice(
device_id = "contoso_9D6816",
display_name = "Contoso 9D6816 Device",
description = "Contoso 9D6816 Device",
mac_address = "00:0A:95:9D:68:16",
manufacturer = "Contoso",
ip_v4_address = "192.168.1.100",
ip_v6_address = "2001:db8::ff00:42:8329",
place_id = "acfa3bc0-2b83-425b-8910-84a0250e9671",
tags = [
"Building A",
"Floor 3",
"Room 301",
"Conference Room",
],
sensors = [
WorkplaceSensor(
sensor_type = WorkplaceSensorType.Occupancy,
),
WorkplaceSensor(
sensor_type = WorkplaceSensorType.PeopleCount,
),
WorkplaceSensor(
sensor_type = WorkplaceSensorType.InferredOccupancy,
),
],
)
result = await graph_client.workplace.sensor_devices.by_workplace_sensor_device_id('workplaceSensorDevice-id').patch(request_body)
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#workplace/sensorDevices/$entity",
"id": "ade7078f-4bf5-4239-bfde-95a7c4225df7",
"deviceId": "contoso_9D6816",
"displayName": "Contoso 9D6816 Device",
"description": "Contoso 9D6816 Device",
"macAddress": "00:0A:95:9D:68:16",
"manufacturer": "Contoso",
"ipV4Address": "192.168.1.100",
"ipV6Address": "2001:db8::ff00:42:8329",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671",
"tags": [
"Building A",
"Floor 3",
"Room 301",
"Conference Room"
],
"sensors": [
{
"sensorId": "Occupancy",
"displayName": null,
"sensorType": "occupancy",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671"
},
{
"sensorId": "PeopleCount",
"displayName": null,
"sensorType": "peopleCount",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671"
},
{
"sensorId": "InferredOccupancy",
"displayName": null,
"sensorType": "inferredOccupancy",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671"
}
]
}
Exemplo 3: Remover um sensor
O exemplo a seguir mostra como remover um sensor de um dispositivo sensor de local de trabalho.
Solicitação
O exemplo a seguir mostra uma solicitação.
PATCH https://graph.microsoft.com/beta/workplace/sensorDevices/ade7078f-4bf5-4239-bfde-95a7c4225df7
Content-Type: application/json
{
"deviceId": "contoso_9D6816",
"displayName": "Contoso 9D6816 Device",
"description": "Contoso 9D6816 Device",
"macAddress": "00:0A:95:9D:68:16",
"manufacturer": "Contoso",
"ipV4Address": "192.168.1.100",
"ipV6Address": "2001:db8::ff00:42:8329",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671",
"tags": [
"Building A",
"Floor 3",
"Room 301",
"Conference Room"
],
"sensors": [
{
"sensorType": "peopleCount"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new WorkplaceSensorDevice
{
DeviceId = "contoso_9D6816",
DisplayName = "Contoso 9D6816 Device",
Description = "Contoso 9D6816 Device",
MacAddress = "00:0A:95:9D:68:16",
Manufacturer = "Contoso",
IpV4Address = "192.168.1.100",
IpV6Address = "2001:db8::ff00:42:8329",
PlaceId = "acfa3bc0-2b83-425b-8910-84a0250e9671",
Tags = new List<string>
{
"Building A",
"Floor 3",
"Room 301",
"Conference Room",
},
Sensors = new List<WorkplaceSensor>
{
new WorkplaceSensor
{
SensorType = WorkplaceSensorType.PeopleCount,
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Workplace.SensorDevices["{workplaceSensorDevice-id}"].PatchAsync(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"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewWorkplaceSensorDevice()
deviceId := "contoso_9D6816"
requestBody.SetDeviceId(&deviceId)
displayName := "Contoso 9D6816 Device"
requestBody.SetDisplayName(&displayName)
description := "Contoso 9D6816 Device"
requestBody.SetDescription(&description)
macAddress := "00:0A:95:9D:68:16"
requestBody.SetMacAddress(&macAddress)
manufacturer := "Contoso"
requestBody.SetManufacturer(&manufacturer)
ipV4Address := "192.168.1.100"
requestBody.SetIpV4Address(&ipV4Address)
ipV6Address := "2001:db8::ff00:42:8329"
requestBody.SetIpV6Address(&ipV6Address)
placeId := "acfa3bc0-2b83-425b-8910-84a0250e9671"
requestBody.SetPlaceId(&placeId)
tags := []string {
"Building A",
"Floor 3",
"Room 301",
"Conference Room",
}
requestBody.SetTags(tags)
workplaceSensor := graphmodels.NewWorkplaceSensor()
sensorType := graphmodels.PEOPLECOUNT_WORKPLACESENSORTYPE
workplaceSensor.SetSensorType(&sensorType)
sensors := []graphmodels.WorkplaceSensorable {
workplaceSensor,
}
requestBody.SetSensors(sensors)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
sensorDevices, err := graphClient.Workplace().SensorDevices().ByWorkplaceSensorDeviceId("workplaceSensorDevice-id").Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
WorkplaceSensorDevice workplaceSensorDevice = new WorkplaceSensorDevice();
workplaceSensorDevice.setDeviceId("contoso_9D6816");
workplaceSensorDevice.setDisplayName("Contoso 9D6816 Device");
workplaceSensorDevice.setDescription("Contoso 9D6816 Device");
workplaceSensorDevice.setMacAddress("00:0A:95:9D:68:16");
workplaceSensorDevice.setManufacturer("Contoso");
workplaceSensorDevice.setIpV4Address("192.168.1.100");
workplaceSensorDevice.setIpV6Address("2001:db8::ff00:42:8329");
workplaceSensorDevice.setPlaceId("acfa3bc0-2b83-425b-8910-84a0250e9671");
LinkedList<String> tags = new LinkedList<String>();
tags.add("Building A");
tags.add("Floor 3");
tags.add("Room 301");
tags.add("Conference Room");
workplaceSensorDevice.setTags(tags);
LinkedList<WorkplaceSensor> sensors = new LinkedList<WorkplaceSensor>();
WorkplaceSensor workplaceSensor = new WorkplaceSensor();
workplaceSensor.setSensorType(WorkplaceSensorType.PeopleCount);
sensors.add(workplaceSensor);
workplaceSensorDevice.setSensors(sensors);
WorkplaceSensorDevice result = graphClient.workplace().sensorDevices().byWorkplaceSensorDeviceId("{workplaceSensorDevice-id}").patch(workplaceSensorDevice);
const options = {
authProvider,
};
const client = Client.init(options);
const workplaceSensorDevice = {
deviceId: 'contoso_9D6816',
displayName: 'Contoso 9D6816 Device',
description: 'Contoso 9D6816 Device',
macAddress: '00:0A:95:9D:68:16',
manufacturer: 'Contoso',
ipV4Address: '192.168.1.100',
ipV6Address: '2001:db8::ff00:42:8329',
placeId: 'acfa3bc0-2b83-425b-8910-84a0250e9671',
tags: [
'Building A',
'Floor 3',
'Room 301',
'Conference Room'
],
sensors: [
{
sensorType: 'peopleCount'
}
]
};
await client.api('/workplace/sensorDevices/ade7078f-4bf5-4239-bfde-95a7c4225df7')
.version('beta')
.update(workplaceSensorDevice);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\WorkplaceSensorDevice;
use Microsoft\Graph\Beta\Generated\Models\WorkplaceSensor;
use Microsoft\Graph\Beta\Generated\Models\WorkplaceSensorType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new WorkplaceSensorDevice();
$requestBody->setDeviceId('contoso_9D6816');
$requestBody->setDisplayName('Contoso 9D6816 Device');
$requestBody->setDescription('Contoso 9D6816 Device');
$requestBody->setMacAddress('00:0A:95:9D:68:16');
$requestBody->setManufacturer('Contoso');
$requestBody->setIpV4Address('192.168.1.100');
$requestBody->setIpV6Address('2001:db8::ff00:42:8329');
$requestBody->setPlaceId('acfa3bc0-2b83-425b-8910-84a0250e9671');
$requestBody->setTags(['Building A', 'Floor 3', 'Room 301', 'Conference Room', ]);
$sensorsWorkplaceSensor1 = new WorkplaceSensor();
$sensorsWorkplaceSensor1->setSensorType(new WorkplaceSensorType('peopleCount'));
$sensorsArray []= $sensorsWorkplaceSensor1;
$requestBody->setSensors($sensorsArray);
$result = $graphServiceClient->workplace()->sensorDevices()->byWorkplaceSensorDeviceId('workplaceSensorDevice-id')->patch($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.models.workplace_sensor_device import WorkplaceSensorDevice
from msgraph_beta.generated.models.workplace_sensor import WorkplaceSensor
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 = WorkplaceSensorDevice(
device_id = "contoso_9D6816",
display_name = "Contoso 9D6816 Device",
description = "Contoso 9D6816 Device",
mac_address = "00:0A:95:9D:68:16",
manufacturer = "Contoso",
ip_v4_address = "192.168.1.100",
ip_v6_address = "2001:db8::ff00:42:8329",
place_id = "acfa3bc0-2b83-425b-8910-84a0250e9671",
tags = [
"Building A",
"Floor 3",
"Room 301",
"Conference Room",
],
sensors = [
WorkplaceSensor(
sensor_type = WorkplaceSensorType.PeopleCount,
),
],
)
result = await graph_client.workplace.sensor_devices.by_workplace_sensor_device_id('workplaceSensorDevice-id').patch(request_body)
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#workplace/sensorDevices/$entity",
"id": "ade7078f-4bf5-4239-bfde-95a7c4225df7",
"deviceId": "contoso_9D6816",
"displayName": "Contoso 9D6816 Device",
"description": "Contoso 9D6816 Device",
"macAddress": "00:0A:95:9D:68:16",
"manufacturer": "Contoso",
"ipV4Address": "192.168.1.100",
"ipV6Address": "2001:db8::ff00:42:8329",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671",
"tags": [
"Building A",
"Floor 3",
"Room 301",
"Conference Room"
],
"sensors": [
{
"sensorId": "PeopleCount",
"displayName": null,
"sensorType": "peopleCount",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671"
}
]
}