Upsert von Spalten

Namespace: microsoft.graph

Upsert (erstellen oder aktualisieren) von bis zu 20 ColumnDefinition-Objekten auf einem fileStorageContainer in einer einzigen Anforderung. Mit dem Deltapatch kann der Aufrufer mit einer einzigen Anforderung mehrere Vorgänge (erstellen, aktualisieren) für bis zu 20 Spalten ausführen.

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) FileStorageContainer.Selected FileStorageContainer.Manage.All
Delegiert (persönliches Microsoft-Konto) FileStorageContainer.Selected Nicht verfügbar.
Application FileStorageContainer.Selected Nicht verfügbar.

Zusätzlich zu den Microsoft Graph-Berechtigungen muss Ihre App auch über die erforderlichen Berechtigungen auf Containertypebene verfügen, um diese API aufzurufen. Weitere Informationen zu Containertypen finden Sie unter Containertypen. Weitere Informationen zu Berechtigungen auf Containertypebene finden Sie unter SharePoint Embedded-Autorisierung.

HTTP-Anforderung

PATCH /storage/fileStorage/containers/{containerId}/columns

Anforderungsheader

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

Anforderungstext

Geben Sie im Anforderungstext ein JSON-Objekt mit den folgenden Eigenschaften an.

Name Typ Beschreibung
@context Zeichenfolge OData-Anmerkung, die den Nutzlasttyp identifiziert. Muss eingestellt sein, um #$delta einen Delta-Patch-Vorgang zu signalisieren. Erforderlich.
Wert columnDefinition collection Eine Sammlung von bis zu 20 zu verarbeitenden ColumnDefinition-Objekten . Erforderlich.

Jeder Eintrag in der Wertauflistung stellt einen Vorgang für eine columnDefinition dar. Das Vorhandensein der id-Eigenschaft bestimmt, wie der Eintrag interpretiert wird:

  • Erstellen: Lassen Sie die id-Eigenschaft weg. Geben Sie die name-Eigenschaft und die Spaltentyp-Eigenschaft an (z. B. boolean, text, choice).
  • Aktualisieren: Fügen Sie die ID der vorhandenen Spalte und die zu aktualisierenden Eigenschaften ein.

Antwort

Bei erfolgreicher Ausführung gibt diese Methode einen 200 OK Antwortcode und eine Auflistung von columnDefinition-Objekten im Antworttext zurück. Spalten, die erfolgreich verarbeitet werden, enthalten das vollständige columnDefinition-Objekt . Fehlerhafte Elemente enthalten eine @Core.DataModificationException-Anmerkung mit Fehlerdetails.

Diese API gibt möglicherweise auch die folgenden Fehlerantwortcodes für die gesamte Anforderung zurück:

HTTP-Code Beschreibung
400 Ungültige Anforderung.
401 Anforderung fehlen gültige Anmeldeinformationen für die Authentifizierung.
403 Angegebene Anmeldeinformationen für die Authentifizierung sind gültig, reichen aber nicht aus, um den angeforderten Vorgang auszuführen.
404 Container ist nicht vorhanden.
423 Der Container ist gesperrt. Beispielsweise wird der Container archiviert.

Beispiele

Anforderung

Das folgende Beispiel zeigt eine einzelne Delta-Patchanforderung, die Elemente in einem Aufruf kombiniert, erstellt und aktualisiert. Elemente ohne ID werden als Erstellungsvorgänge behandelt. Elemente mit einer ID werden als Aktualisierungsvorgänge behandelt. Elemente, die fehlschlagen, werden inline mit einer @Core.DataModificationException-Anmerkung gemeldet. Die restlichen Elemente sind weiterhin erfolgreich.

PATCH https://graph.microsoft.com/v1.0/storage/fileStorage/containers/b!ISJs1WRro0y0EWgkUYcktDa0mE8zSlFEqFzqRn70Zwp1CEtDEBZgQICPkRbil_5Z/columns
Content-Type: application/json

{
  "@context": "#$delta",
  "value": [
    {
      "id": "aec21c58-7f1f-4875-b438-d47ef622306c",
      "isSearchable": false
    },
    {
      "id": "aec21c58-7f1f-4875-b438-d47df622306c",
      "isSearchable": false
    },
    {
      "name": "booleanColumn1234",
      "boolean": {}
    },
    {
      "name": "booleanColumn33",
      "boolean": {}
    }
  ]
}

Antwort

Das folgende Beispiel zeigt die Antwort. Die Antwort enthält ein Element für jedes Element in der Anforderung in der gleichen Reihenfolge. In diesem Beispiel ist das erste Anforderungselement ein erfolgreicher Aktualisierungsvorgang, das zweite Anforderungselement ist ein Updatevorgang, der fehlschlägt, da keine Spalte mit dieser ID vorhanden ist, das dritte Anforderungselement ist ein Erstellungsvorgang, der erfolgreich ist, und das vierte Anforderungselement ist ein Erstellungsvorgang, der fehlschlägt, da bereits eine Spalte mit diesem Namen vorhanden ist.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#storage/fileStorage/containers('b%21ISJs1WRro0y0EWgkUYcktDa0mE8zSlFEqFzqRn70Zwp1CEtDEBZgQICPkRbil_5Z')/columns/$delta",
  "value": [
    {
      "@odata.etag": "\"4\"",
      "description": "",
      "displayName": "booleanColumn8",
      "id": "aec21c58-7f1f-4875-b438-d47ef622306c",
      "indexed": false,
      "isSearchable": false,
      "isDeletable": true,
      "isSealed": false,
      "name": "booleanColumn8",
      "readOnly": false,
      "type": "boolean",
      "boolean": {}
    },
    {
      "@Core.DataModificationException": {
        "@odata.type": "#Org.OData.Core.V1.DataModificationExceptionType",
        "failedOperation": "Update",
        "responseCode": 404,
        "info": {
          "code": "NotFound",
          "message": "Item not found."
        }
      },
      "id": "aec21c58-7f1f-4875-b438-d47df622306c",
      "type": "unknownFutureValue"
    },
    {
      "@odata.etag": "\"1\"",
      "description": "",
      "displayName": "booleanColumn1234",
      "id": "7eac4ae0-afe9-4a02-8cfa-9369558b44db",
      "indexed": false,
      "isSearchable": false,
      "isDeletable": true,
      "isSealed": false,
      "name": "booleanColumn1234",
      "readOnly": false,
      "type": "boolean",
      "boolean": {}
    },
    {
      "@Core.DataModificationException": {
        "@odata.type": "#Org.OData.Core.V1.DataModificationExceptionType",
        "failedOperation": "Create",
        "responseCode": 409,
        "info": {
          "code": "Conflict",
          "message": "A field with the specified name already exists"
        }
      },
      "id": "00000000-0000-0000-0000-000000000000",
      "name": "booleanColumn33",
      "type": "unknownFutureValue",
      "boolean": {}
    }
  ]
}