SharePoint 埋め込みコンテナーでのメタデータの使用

SharePoint Embedded では、Microsoft Graph API を介してカスタム メタデータを必要とするシナリオに対処するために 、列をコンテナー に追加できます。 コンテナー内のコンテンツは、対応するメタデータに必要な値を設定できます。 メタデータはスキーマ化され、クエリを実行できます。 列を作成および管理する API はコンテナー インスタンス レベルであることに注意してください。アプリケーションは、コンテナー全体の列の定義と管理を担当します。

SharePoint 2013 での認証、承認、およびセキュリティ

承認ヘッダーには、App+User (Delegated) またはアプリ専用 (アプリケーション) ベアラー {token} が必要です。

注:

コンテナー所有者は、コンテナー列の作成、更新、削除を行うことができます。すべてのコンテナー メンバーは、コンテナー列の読み取りと一覧表示を行うことができます

microsoft.graph.fileStorageContainer プロパティ

プロパティ 説明 キー 必須 ReadOnly
id Edm.String ストレージ コンテナー インスタンスの一意の安定した識別子 はい はい はい
displayName Edm.String コンテナーの表示名 不要 はい 不要
description Edm.String コンテナーの説明 不要 不要 不要
containerTypeId Edm.Guid コンテナーの種類 ID 不要 はい はい
containerTypeDisplayName Edm.String コンテナーの種類の表示名 不要 不要 はい
externalGroupId Edm.Guid 外部グループ ID 不要 不要 不要
permissions Collection<microsoft.graph.permission> コンテナー内のユーザー/グループのアクセス許可 不要 不要 不要
customProperties microsoft.graph.fileStorageContainerCustomPropertyDictionary カスタム プロパティ 不要 不要 不要
viewpoint microsoft.graph.fileStorageContainerViewpoint 現在のユーザーに固有のデータ 不要 不要 不要
drive microsoft.graph.drive ストレージ コンテナーのドライブ リソース 不要 不要 はい
recycleBin microsoft.graph.recycleBin ストレージ コンテナーの recycleBin リソース 不要 不要 はい
status microsoft.graph.fileStorageContainerStatus コンテナーの状態を表す列挙値 不要 不要 はい
createdDateTime microsoft.graph.dateTimeOffset createdDateTime 不要 不要 はい
storageUsedInBytes Edm.Int64 バイト単位で使用されるストレージ 不要 不要 はい
assignedSensitivityLabel microsoft.graph.assignedLabel コンテナーに割り当てられた秘密度ラベル 不要 不要 不要
owners Collection<microsoft.graph.userIdentity> コンテナーを所有するユーザーの一覧 不要 不要 はい
columns Collection<microsoft.graph.columnDefinition> コンテナー内のカスタム メタデータ フィールドのコレクション 不要 不要 不要

制限事項

SharePoint Embedded Metadata でサポートされるプロパティを次に示します。

プロパティ名 種類
ブール値 booleanColumn
選択 choiceColumn
通貨 currencyColumn
dateTime dateTimeColumn
hyperlinkOrPicture hyperlinkOrPictureColumn
isDeletable ブール型
ID string
インデックス 付き ブール型
isSealed ブール型
name string
番号 numberColumn
personOrGroup personOrGroupColumn
Readonly ブール型
テキスト textColumn
type columnTypes

注:

適切な列の名前付け規則に従って列に名前を付けてください

列の名前付け規則

列名は、次の規則に従う必要があります。

  • "!"を含めることはできません。
  • 数字、ピリオド、マイナス記号、疑問符で始めることはできません。
  • "_" または "" 以外の空白文字または英数字以外の文字を含めることはできません。
  • どちらの種類のセル参照にも見えません。
    • 1 から 3 文字の後に 1 から 5 桁の数字 (A3 F02563、ZZZ12 など) が続く A1 モードのセル参照。
    • R1C1 モードのセル参照。r、c、r[#]、c[#] または r[#]c[#]#]のようになります。
  • "true" または "false" のローカライズされた単語にすることはできません。
  • "Author"、"Created"、"Description"など、特定の名前を指定することはできません。

fileStorageContainer に列を作成する

この API を使用すると、呼び出し元は fileStorageContainer に新しい列インスタンスを作成できます。

必要なアクセス許可 (少なくとも 1 つ)
ScopeName
FileStorageContainer.Selected アプリケーション
FileStorageContainer.Selected 委任

REST 操作の例: fileStorageContainer に列を作成する

要求
POST https://graph.microsoft.com/beta/storage/fileStorage/containers/{container-id}/columns
Content-Type: application/json

{
  "description": "test",
  "displayName": "Title",
  "enforceUniqueValues": false,
  "hidden": false,
  "indexed": false,
  "name": "Title",
  "text": {
    "allowMultipleLines": false,
    "appendChangesToExistingText": false,
    "linesForEditing": 0,
    "maxLength": 255
  }
}

注:

注 型はサポートされていません。 maxLength should =< 255.

応答
HTTP/1.1 201 Created
Content-type: application/json

{
  "description": "test",
  "displayName": "Title",
  "enforceUniqueValues": false,
  "hidden": false,
  "id": "99ddcf45-e2f7-4f17-82b0-6fba34445103",
  "indexed": false,
  "name": "Title",
  "text": {
    "allowMultipleLines": false,
    "appendChangesToExistingText": false,
    "linesForEditing": 0,
    "maxLength": 255
  }
}

FILEStorageContainer 内の列を ID で取得する

この API を使用すると、呼び出し元は ID で fileStorageContainer 列インスタンスを取得できます。

必要なアクセス許可 (少なくとも 1 つ)
ScopeName
FileStorageContainer.Selected アプリケーション
FileStorageContainer.Selected 委任

REST 操作の例: ID で fileStorageContainer 内の列を取得する

要求
GET https://graph.microsoft.com/beta/storage/fileStorage/containers/{container-id}/columns/{column-id}
応答
HTTP/1.1 200 OK
Content-type: application/json

{
  "description": "test",
  "displayName": "Title",
  "enforceUniqueValues": false,
  "hidden": false,
  "id": "99ddcf45-e2f7-4f17-82b0-6fba34445103",
  "indexed": false,
  "name": "Title",
  "text": {
    "allowMultipleLines": false,
    "appendChangesToExistingText": false,
    "linesForEditing": 0,
    "maxLength": 255
  }
}

fileStorageContainer の列を ID で更新する

この API を使用すると、呼び出し元は fileStorageContainer 列インスタンスを ID で更新できます。 id プロパティ以外の列の任意のプロパティを更新できます。

必要なアクセス許可 (少なくとも 1 つ)
ScopeName
FileStorageContainer.Selected アプリケーション
FileStorageContainer.Selected 委任

REST 操作の例: FILEStorageContainer 内の列を ID で更新する

要求
PATCH https://graph.microsoft.com/beta/storage/fileStorage/containers/{container-id}/columns/{column-id}
Content-Type: application/json

{
  "required": true,
  "hidden": false,
  "description": "This is my new column description"
}
応答
HTTP/1.1 200 OK
Content-type: application/json

{
  "description": "",
  "displayName": "Custom Column",
  "enforceUniqueValues": false,
  "hidden": false,
  "id": "11dfef35-e2f7-4f17-82b0-6fba34445103",
  "indexed": false,
  "name": "Custom Column",
  "readOnly": false,
  "required": true,
  "text": {
    "allowMultipleLines": false,
    "appendChangesToExistingText": false,
    "linesForEditing": 0,
    "maxLength": 255
  }
}

fileStorageContainer から列を削除する

この API を使用すると、呼び出し元は id で fileStorageContainer 列インスタンスを削除できます。

必要なアクセス許可 (少なくとも 1 つ)
ScopeName
FileStorageContainer.Selected アプリケーション
FileStorageContainer.Selected 委任

REST 操作の例: fileStorageContainer から列を削除する

要求
DELETE https://graph.microsoft.com/beta/storage/fileStorage/containers/{container-id}/columns/{column-id}
応答
HTTP/1.1 204 No Content

fileStorageContainer 内の列を一覧表示する

この API を使用すると、呼び出し元は fileStorageContainer 内の列を列挙できます。

必要なアクセス許可 (少なくとも 1 つ)
ScopeName
FileStorageContainer.Selected アプリケーション
FileStorageContainer.Selected 委任

REST 操作の例: fileStorageContainer 内の列を一覧表示する

要求
GET https://graph.microsoft.com/beta/storage/fileStorage/containers/{container-id}/columns
応答
HTTP/1.1 200 OK
Content-type: application/json

{
  "value": [
    {
      "description": "",
      "displayName": "Title",
      "hidden": false,
      "id": "99ddcf45-e2f7-4f17-82b0-6fba34445103",
      "indexed": false,
      "name": "Title",
      "readOnly": false,
      "required": false,
      "text": {
        "allowMultipleLines": false,
        "appendChangesToExistingText": false,
        "linesForEditing": 0,
        "maxLength": 255
      }
    },
    {
      "description": "",
      "displayName": "Address",
      "id": "11dfef35-e2f7-4f17-82b0-6fba34445103",
      "indexed": false,
      "name": "Address",
      "readOnly": false,
      "required": false,
      "text": {
        "allowMultipleLines": false,
        "appendChangesToExistingText": false,
        "linesForEditing": 0,
        "maxLength": 255
      }
    }
  ]
}

fileStorageContainer のドライブ内の項目の列値を取得する

これは、fileStorageContainer のドライブ内の項目の列値を取得する新機能を紹介するために使用される既存の API です。 この API では、 columnの OData $select機能がサポートされています。

必要なアクセス許可 (少なくとも 1 つ)
ScopeName
FileStorageContainer.Selected アプリケーション
FileStorageContainer.Selected 委任

REST 操作の例: fileStorageContainer のドライブ内の項目の列値を取得する

要求
GET https://graph.microsoft.com/beta/drives/{drive-id}/items/{item-id}/listitem/fields
応答
HTTP/1.1 200 OK
Content-type: application/json

{
  "Name": "Widget",
  "Color": "Blue",
  "Quantity": 2357
}
要求
GET https://graph.microsoft.com/beta/drives/{drive-id}/items/{item-id}/listitem/fields?$select=Name,Color
応答
HTTP/1.1 200 OK
Content-type: application/json

{
  "Name": "Widget",
  "Color": "Blue"
}

fileStorageContainer のドライブ内の項目の列値にパッチを適用する

これは、fileStorageContainer のドライブ内の項目の列値を更新および削除する新機能を紹介するために使用される既存の API です。

必要なアクセス許可 (少なくとも 1 つ)
ScopeName
FileStorageContainer.Selected アプリケーション
FileStorageContainer.Selected 委任

REST 操作の例: fileStorageContainer のドライブ内の項目の列値を更新する

要求
PATCH https://graph.microsoft.com/beta/drives/{drive-id}/items/{item-id}/listitem/fields

Content-Type: application/json

{
    "Color": "Fuchsia",
    "Quantity": 934
}
応答
HTTP/1.1 200 OK
Content-type: application/json

{
  "Name": "Widget",
  "Color": "Fuchsia",
  "Quantity": 934
}

REST 操作の例: fileStorageContainer のドライブ内の項目の列値を削除する

要求
PATCH https://graph.microsoft.com/beta/drives/{drive-id}/items/{item-id}/listitem/fields

Content-Type: application/json

{
    "Color": null
}
応答
HTTP/1.1 200 OK
Content-type: application/json

{
  "Name": "Widget",
  "Quantity": 934
}

カスタム列の Odata クエリ オプションを使用して fileStorageContainer の driveitem を照会する

この API を使用すると、ユーザーは fileStorageContainer 内のドライブ項目に対して、 $expand$filter$orderby Odata クエリ オプションを使用して、カスタム列に対してクエリを実行できます。

必要なアクセス許可 (少なくとも 1 つ)
ScopeName
FileStorageContainer.Selected アプリケーション
FileStorageContainer.Selected 委任

REST 操作の例: カスタム列 'TestField' で fileStorageContainer のドライブ項目をフィルター処理し、結果を 'TestField' で並べ替える

要求
GET  https://graph.microsoft.com/beta/drives/{drive-id}/items?$orderby=listitem/fields/TestField asc&$filter=startswith(listitem/fields/TestField, '3')&$expand=listitem($expand=fields)
応答
HTTP/1.1 200 OK
Content-type: application/json

{
  "value": [
    {"name": "a.jpg", "size": 2048, "listitem/fields/TestField": "31" },
    {"name": "b.xlsx", "size": 197, "listitem/fields/TestField": "32" },
    {"name": "c.docx", "size": 391, "listitem/fields/TestField": "33" }
  ]
}