Espacio de nombres: microsoft.graph
Importante
Las API de la versión /beta de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.
Actualice las propiedades de un dispositivo sensor de área de trabajo.
Esta API está disponible en las siguientes implementaciones en la nube nacional.
| Servicio global |
Administración pública de EE. UU. |
Gobierno de EE. UU. L5 (DOD) |
China operado por 21Vianet |
| ✅ |
✅ |
✅ |
❌ |
Permissions
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use uno o varios permisos con privilegios más altos solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
Nota:
Para que una aplicación con permisos delegados escriba dispositivos del área de trabajo, el usuario que ha iniciado sesión debe ser miembro del rol de administrador de Exchange Online TenantPlacesManagement.
| Tipo de permiso |
Permisos con privilegios mínimos |
Permisos con privilegios más altos |
| Delegado (cuenta profesional o educativa) |
PlaceDevice.ReadWrite.All |
No disponible. |
| Delegado (cuenta personal de Microsoft) |
No admitida. |
No admitida. |
| Aplicación |
PlaceDevice.ReadWrite.All |
No disponible. |
Solicitud HTTP
PATCH /workplace/sensorDevices/{id}
| Nombre |
Descripción |
| Authorization |
{token} de portador. Obligatorio. Obtenga más información sobre autenticación y autorización. |
| Content-Type |
application/json. Obligatorio. |
Cuerpo de la solicitud
En el cuerpo de la solicitud, proporcione el JSON completo del objeto workplaceSensorDevice con los campos actualizados. No se admiten actualizaciones parciales. Si se excluye alguna propiedad opcional, se establece en null. Para agregar nuevos sensores, agregue un nuevo objeto de sensor a la colección de sensores existente. Si se quita un objeto sensor de la colección, se elimina del dispositivo.
En la tabla siguiente se especifican las propiedades que se pueden actualizar.
| Propiedad |
Tipo |
Descripción |
| description |
Cadena |
La descripción del dispositivo. Opcional. |
| deviceId |
Cadena |
Identificador único definido por el usuario del dispositivo proporcionado en el momento de su creación. Obligatorio. Solo lectura. |
| displayName |
Cadena |
El nombre para mostrar del dispositivo. Opcional. |
| ipV4Address |
Cadena |
La dirección IPv4 del dispositivo. Opcional. |
| ipV6Address |
Cadena |
La dirección IPv6 del dispositivo. Opcional. |
| macAddress |
Cadena |
La dirección MAC del dispositivo. Opcional. |
| manufacturer |
Cadena |
Fabricante del dispositivo. Obligatorio. |
| placeId |
Cadena |
El identificador único del lugar donde se encuentra el dispositivo. Si el dispositivo está instalado en una sala equipada con un buzón, esta propiedad debe coincidir con el id. de objeto ExternalDirectoryObjectId o Microsoft Entra del buzón de sala. Opcional. |
| sensores |
workplaceSensor collection |
Una lista de sensores asociados con el dispositivo que recopilan y reportan datos sobre condiciones físicas o ambientales, como la ocupación, el recuento de personas, la ocupación inferida, la temperatura y más. Obligatorio. |
| tags |
Colección string |
Una lista de etiquetas personalizadas asociadas al dispositivo. Admite $filter. Opcional. |
Respuesta
Si se realiza correctamente, este método devuelve un código de 200 OK respuesta y un objeto workplaceSensorDevice actualizado en el cuerpo de la respuesta.
Ejemplos
Ejemplo 1: Agregar una nueva etiqueta
En el siguiente ejemplo se muestra cómo agregar una nueva etiqueta a un dispositivo sensor del área de trabajo.
Solicitud
En el ejemplo siguiente se muestra la solicitud.
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)
Respuesta
En el ejemplo siguiente se muestra la respuesta.
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"
}
]
}
Ejemplo 2: Agregar un nuevo sensor
En el siguiente ejemplo se muestra cómo agregar un nuevo sensor a un dispositivo sensor del área de trabajo.
Solicitud
En el ejemplo siguiente se muestra la solicitud.
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)
Respuesta
En el ejemplo siguiente se muestra la respuesta.
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"
}
]
}
Ejemplo 3: Quitar un sensor
En el siguiente ejemplo se muestra cómo quitar un sensor de un dispositivo sensor del área de trabajo.
Solicitud
En el ejemplo siguiente se muestra la solicitud.
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)
Respuesta
En el ejemplo siguiente se muestra la respuesta.
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"
}
]
}