Upsert von Orten

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.

Upsert ein oder mehrere Place-Objekte im asynchronen Modus. Mit dieser API können Sie mehrere Orte effizient in einer einzigen Anforderung erstellen und aktualisieren.

Weitere Informationen zur Verwendung dieser API, einschließlich Szenarien, bewährter Methoden und Parallelitätslimits, finden Sie unter Arbeiten mit der upsert Places-API in Microsoft Graph.

Hinweis

  • Vorgänge werden für 15 Tage ab Erstellung aufbewahrt.
  • Diese API hat einen Einschränkungsgrenzwert von drei Aufrufen pro Sekunde. Weitere Informationen finden Sie unter Dienstspezifische Drosselungsgrenzwerte für Microsoft Graph.
  • Für alle Anforderungen ist der Header erforderlich OData-Version: 4.01 .
  • Derzeit unterstützt diese API nicht den zugewiesenen Modus für Schreibtische oder die isTeamsEnabled Eigenschaft für Räume.
  • Im Moment kann der Ortsvorgang nicht eine große Anzahl von Orten gleichzeitig verarbeiten – insbesondere Räume, Schreibtische und Arbeitsbereiche. Die aktuelle Obergrenze liegt bei etwa 20 bis 30 Räumen, Schreibtischen oder Arbeitsbereichen.

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.

Berechtigungstyp Berechtigungen mit den geringsten Berechtigungen Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto) Place.ReadWrite.All Nicht verfügbar.
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt Nicht unterstützt
Application Place.ReadWrite.All Nicht verfügbar.

Wichtig

Für den delegierten Zugriff mit Geschäfts-, Schul- oder Unikonten muss dem angemeldeten Benutzer eine unterstützte Microsoft Entra-Rolle oder eine benutzerdefinierte Rolle zugewiesen werden, die die für diesen Vorgang erforderlichen Berechtigungen gewährt. Exchange-Administrator ist die Rolle mit den geringsten Berechtigungen, die für diesen Vorgang unterstützt wird.

Wenn Sie Anwendungsberechtigungen verwenden, müssen Sie die erforderliche TenantPlacesManagement Rolle (zum Verwalten von Places) und die MailRecipient Rolle (zum Verwalten von Benutzern und Postfächern) konfigurieren. Weitere Informationen zum Konfigurieren dieser Rollen finden Sie unter Rollenbasierte Access Control für Anwendungen in Exchange Online.

HTTP-Anforderung

PATCH /places

Anforderungsheader

Name Beschreibung
Authorization Bearer {token}. Erforderlich. Erfahren Sie mehr über Authentifizierung und Autorisierung.
Content-Type application/json. Erforderlich.
OData-Version 4.01. Erforderlich.

Anforderungstext

Geben Sie im Anforderungstext eine JSON-Darstellung des Ortsdeltasatzes an.

Es können die gleichen Eigenschaften angegeben werden, die auch beim Erstellen oder Aktualisieren eines Ortsobjekts festgelegt werden.

Antwort

Bei erfolgreicher Ausführung gibt diese Methode einen 202 Accepted Antwortcode und eine Vorgangs-URL im Antwortheader zurück, die Location Sie zum Abrufen des Vorgangs verwenden können.

Beispiel

Anforderung

Das folgende Beispiel zeigt eine Anforderung, die mehrere Vorgänge kombiniert, darunter das Aktualisieren eines vorhandenen Gebäudes, das Erstellen neuer Orte mit einer Hierarchie und das Aktualisieren von Eigenschaften:

  • Aktualisieren Sie ein vorhandenes Gebäude, um den Anzeigenamen auf Demo Building Afestzulegen, WLAN zu aktivieren und eine neue Etage Demo Floor 1 als untergeordnetes Element des aktualisierten Gebäudes zu erstellen.
  • Erstellen Sie ein neues Gebäude Demo Building B mit einer untergeordneten Etage Demo Floor 1 , die einen neuen Abschnitt Demo Section A mit einem vorhandenen Schreibtisch und einen neuen Raum Demo Room 1enthält.
  • Erstellen Sie einen neuen Arbeitsbereich im reservierbaren Modus unter einem vorhandenen übergeordneten Element.
  • Aktualisieren Sie den Anzeigenamen eines vorhandenen Abschnitts.
PATCH https://graph.microsoft.com/beta/places
Content-Type: application/json
OData-Version: 4.01

{
  "@context": "#$delta",
  "value": [
    {
      "@odata.type": "microsoft.graph.building",
      "id": "25e5905a-7fee-4f36-ba31-29e85c14bf18",
      "displayName": "Demo Building A",
      "hasWifi": true,
      "children@delta": [
        {
          "@odata.type": "microsoft.graph.floor",
          "displayName": "Demo Floor 1"
        }
      ]
    },
    {
      "@odata.type": "microsoft.graph.building",
      "displayName": "Demo Building B",
      "children@delta": [
        {
          "@odata.type": "microsoft.graph.floor",
          "displayName": "Demo Floor 1",
          "children@delta": [
            {
              "@odata.type": "microsoft.graph.section",
              "displayName": "Demo Section A",
              "children@delta": [
                {
                  "@odata.type": "#microsoft.graph.desk",
                  "id": "211ffb37-e880-475a-b73a-43f484609536"
                },
                {
                  "@odata.type": "#microsoft.graph.room",
                  "displayName": "Demo Room 1"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "@odata.type": "microsoft.graph.workspace",
      "parentId": "2cb2701d-0896-4c69-91bb-582d82d7c68c",
      "displayName": "Demo Workspace 1",
      "mode": {
        "@odata.type": "#microsoft.graph.reservablePlaceMode"
      }
    },
    {
      "@odata.type": "#microsoft.graph.section",
      "id": "2cb2701d-0896-4c69-91bb-582d82d7c68c",
      "displayName": "HR"
    }
  ]
}

Antwort

Das folgende Beispiel zeigt die Antwort.

HTTP/1.1 202 Accepted
Location: https://graph.microsoft.com/beta/places/getOperation(id='0f5d3cc5-d1bd-4cba-9b0e-e9ad68527ab5')