列のアップサート

名前空間: microsoft.graph

1 回の要求で fileStorageContainer に対して最大 20 個の columnDefinition オブジェクトをアップサート (作成または更新) します。 差分パッチを使用すると、呼び出し元は 1 つの要求で最大 20 個の列に対して複数の操作 (作成、更新) を実行できます。

アクセス許可

この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、「アクセス許可のリファレンス」を参照してください。

アクセス許可の種類 最小特権アクセス許可 より高い特権のアクセス許可
委任 (職場または学校のアカウント) FileStorageContainer.Selected FileStorageContainer.Manage.All
委任 (個人用 Microsoft アカウント) FileStorageContainer.Selected 注意事項なし。
アプリケーション FileStorageContainer.Selected 注意事項なし。

Microsoft Graph のアクセス許可に加えて、アプリには、この API を呼び出すために必要なコンテナーの種類レベルのアクセス許可も必要です。 コンテナーの種類の詳細については、 コンテナーの種類を参照してください。 コンテナーの種類レベルのアクセス許可の詳細については、「 SharePoint Embedded 承認」を参照してください。

HTTP 要求

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

要求ヘッダー

名前 説明
Authorization ベアラー {token}。 必須です。 認証と認可についての詳細をご覧ください。
Content-Type application/json. 必須です。

要求本文

リクエストの本文には、次のプロパティを持つ JSON オブジェクトを指定します。

名前 説明
@context 文字列 ペイロードの種類を識別する OData 注釈。 デルタ パッチ操作を通知するには、 #$delta に設定する必要があります。 必須です。
columnDefinition コレクション 処理する最大 20 個の columnDefinition オブジェクトのコレクション。 必須です。

コレクション内の各エントリは、columnDefinition に対する 1 つの操作を表します。 id プロパティの有無によって、エントリの解釈方法が決まります。

  • 作成: id プロパティを省略します。 name プロパティと列の型プロパティ (booleantextchoiceなど) を指定します。
  • 更新: 既存の列の ID と更新するプロパティを含めます。

応答

成功した場合、このメソッドは 200 OK 応答コードと、応答本文の columnDefinition オブジェクトのコレクションを返します。 正常に処理された列には、完全な columnDefinition オブジェクトが含まれます。 失敗した項目には、エラーの詳細を含む @Core.DataModificationException 注釈が含まれます。

この API は、要求全体に対して次のエラー応答コードを返す場合もあります。

HTTP コード 説明
400 要求が正しくありません。
401 要求に有効な認証資格情報がありません。
403 指定された認証資格情報は有効ですが、要求された操作を実行するには不十分です。
404 コンテナーが存在しません。
423 コンテナーはロックされています。 たとえば、コンテナーがアーカイブされたとします。

要求

次の例は、1 回の呼び出しでアイテムの作成と更新が混在する 1 つのデルタ パッチ要求を示しています。 ID のないアイテムは作成操作として扱われます。ID を持つアイテムは、更新操作として扱われます。 失敗した項目は、 @Core.DataModificationException 注釈を使用してインラインで報告されます。 残りの項目は引き続き成功します。

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": {}
    }
  ]
}

応答

次の例は応答を示しています。 応答には、要求内の各アイテムに対して同じ順序で 1 つのアイテムが含まれます。 この例では、最初の要求アイテムは成功した更新操作であり、2 番目の要求アイテムはその ID を持つ列が存在しないために失敗する更新操作であり、3 番目の要求アイテムは成功した作成操作であり、4 番目の要求アイテムはその名前の列が既に存在するため失敗する作成操作です。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

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": {}
    }
  ]
}