Espace de noms: microsoft.graph
Importante
Les API sous la version /beta dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .
Créez un appareil de capteur d’espace de travail.
Cette API est disponible dans les déploiements de cloud national suivants.
| Service global |
Gouvernement des États-Unis L4 |
Us Government L5 (DOD) |
Chine gérée par 21Vianet |
| ✅ |
❌ |
❌ |
❌ |
Autorisations
Choisissez l’autorisation ou les autorisations marquées comme moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.
Remarque
Pour qu’une application disposant d’autorisations déléguées écrive des appareils d’espace de travail, l’utilisateur connecté doit être membre du rôle d’administrateur TenantPlacesManagement Exchange Online.
| Type d’autorisation |
Autorisations avec privilèges minimum |
Autorisations privilégiées plus élevées |
| Déléguée (compte professionnel ou scolaire) |
PlaceDevice.ReadWrite.All |
Non disponible. |
| Déléguée (compte Microsoft personnel) |
Non prise en charge. |
Non prise en charge. |
| Application |
PlaceDevice.ReadWrite.All |
Non disponible. |
Requête HTTP
POST /workplace/sensorDevices
Corps de la demande
Dans le corps de la demande, fournissez une représentation JSON de l’objet workplaceSensorDevice .
Vous pouvez spécifier les propriétés suivantes lorsque vous créez un workplaceSensorDevice.
| Propriété |
Type |
Description |
| description |
String |
Description de l’appareil. Facultatif. |
| deviceId |
String |
Identificateur unique défini par l’utilisateur de l’appareil fourni au moment de la création. Obligatoire. |
| displayName |
String |
Nom complet de l’appareil. Facultatif. |
| ipV4Address |
String |
Adresse IPv4 de l’appareil. Facultatif. |
| ipV6Address |
String |
Adresse IPv6 de l’appareil. Facultatif. |
| macAddress |
String |
Adresse MAC de l’appareil. Facultatif. |
| Fabricant |
String |
Fabricant de l’appareil. Obligatoire. |
| placeId |
String |
Identificateur unique de l’emplacement où se trouve l’appareil. Si l’appareil est installé dans une salle équipée d’une boîte aux lettres, cette propriété doit correspondre à l’Id d’objet ExternalDirectoryObjectId ou Microsoft Entra de la boîte aux lettres de salle. Facultatif. |
| Capteurs |
collection workplaceSensor |
Liste des capteurs associés à l’appareil qui collectent et signalent des données sur les conditions physiques ou environnementales, telles que l’occupation, le nombre de personnes, l’occupation déduite, la température, etc. Obligatoire. |
| étiquettes |
String collection |
Liste des balises personnalisées associées à l’appareil. Prend en charge $filter. Facultatif. |
Réponse
Si elle réussit, cette méthode renvoie un 201 Created code de réponse et un objet workplaceSensorDevice dans le corps de la réponse.
Exemples
Demande
L’exemple suivant illustre une demande.
POST https://graph.microsoft.com/beta/workplace/sensorDevices
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"
}
]
}
// 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,
},
},
};
// 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.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"
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)
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().Post(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);
workplaceSensorDevice.setSensors(sensors);
WorkplaceSensorDevice result = graphClient.workplace().sensorDevices().post(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'
}
]
};
await client.api('/workplace/sensorDevices')
.version('beta')
.post(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;
$requestBody->setSensors($sensorsArray);
$result = $graphServiceClient->workplace()->sensorDevices()->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.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,
),
],
)
result = await graph_client.workplace.sensor_devices.post(request_body)
Réponse
L’exemple suivant illustre la réponse.
HTTP/1.1 201 Created
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"
}
]
}