Namespace: microsoft.graph
Wichtig
Die APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.
Erstellen Sie ein neues Arbeitsplatzsensorgerät.
Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.
| Weltweiter Service |
US Government L4 |
US Government L5 (DOD) |
China, betrieben von 21Vianet |
| ✅ |
❌ |
❌ |
❌ |
Berechtigungen
Wählen Sie die Berechtigungen aus, die für diese API als am wenigsten privilegiert markiert sind. Verwenden Sie eine höhere Berechtigung oder Berechtigungen nur, wenn Ihre App dies erfordert. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.
Hinweis
Für eine App mit delegierten Berechtigungen zum Schreiben von Arbeitsplatzgeräten muss der angemeldete Benutzer Mitglied der Rolle TenantPlacesManagement Exchange Online Administrator sein.
| Berechtigungstyp |
Berechtigungen mit den geringsten Berechtigungen |
Berechtigungen mit höheren Berechtigungen |
| Delegiert (Geschäfts-, Schul- oder Unikonto) |
PlaceDevice.ReadWrite.All |
Nicht verfügbar. |
| Delegiert (persönliches Microsoft-Konto) |
Nicht unterstützt |
Nicht unterstützt |
| Application |
PlaceDevice.ReadWrite.All |
Nicht verfügbar. |
HTTP-Anforderung
POST /workplace/sensorDevices
Anforderungstext
Geben Sie im Anforderungstext eine JSON-Darstellung des workplaceSensorDevice-Objekts an.
Sie können die folgenden Eigenschaften angeben, wenn Sie ein workplaceSensorDevice erstellen.
| Eigenschaft |
Typ |
Beschreibung |
| description |
Zeichenfolge |
Die Beschreibung des Geräts. Optional. |
| deviceId |
Zeichenfolge |
Der benutzerdefinierte eindeutige Bezeichner des Geräts, das zum Zeitpunkt der Erstellung bereitgestellt wurde. Erforderlich. |
| displayName |
Zeichenfolge |
Der Anzeigename des Geräts. Optional. |
| ipV4Address |
Zeichenfolge |
Die IPv4-Adresse des Geräts. Optional. |
| ipV6Address |
Zeichenfolge |
Die IPv6-Adresse des Geräts. Optional. |
| macAddress |
Zeichenfolge |
Die MAC-Adresse des Geräts. Optional. |
| Hersteller |
Zeichenfolge |
Der Hersteller des Geräts. Erforderlich. |
| placeId |
Zeichenfolge |
Der eindeutige Bezeichner des Orts, an dem sich das Gerät befindet. Wenn das Gerät in einem Raum installiert ist, der mit einem Postfach ausgestattet ist, sollte diese Eigenschaft mit der ExternalDirectoryObjectId oder Microsoft Entra Objekt-ID des Raumpostfachs übereinstimmen. Optional. |
| Sensoren |
workplaceSensor-Sammlung |
Eine Liste der Sensoren, die dem Gerät zugeordnet sind und Daten zu physischen oder Umgebungsbedingungen sammeln und melden, z. B. Belegung, Anzahl von Personen, abgeleitete Belegung, Temperatur und vieles mehr. Erforderlich. |
| tags |
Zeichenfolgenauflistung |
Eine Liste der benutzerdefinierten Tags, die dem Gerät zugeordnet sind. Unterstützt $filter. Optional. |
Antwort
Bei erfolgreicher Ausführung gibt die Methode den 201 Created Antwortcode und ein workplaceSensorDevice-Objekt im Antworttext zurück.
Beispiele
Anforderung
Das folgende Beispiel zeigt eine Anfrage.
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)
Antwort
Das folgende Beispiel zeigt die Antwort.
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"
}
]
}