Box Developerドキュメント

ファイルへのメタデータの適用

ガイド メタデータ メタデータの操作 ファイルへのメタデータの適用

ファイルへのメタデータの適用

新しいcustomerDataテンプレートが完成したら、このテンプレートをファイルまたはフォルダに適用できます。このテンプレートを適用するには、テンプレートのscopetemplateKeyのほか、テンプレートの適用先となる項目のIDが必要になります。

cURL
curl -X POST https://api.box.com/2.0/files/12345/metadata/enterprise/customerInfo \
    -H "authorization: Bearer <ACCESS_TOKEN>" \
    -H "content-type: application/json" \
    -d '{
      "name": "Box, Inc",
      "industry": "Technology",
      "tav": 1000000
    }'

.NET
var metadataValues = new Dictionary<string, object>()
{
    { "name", "Box, Inc" },
    { "industry", "Technology" },
    { "tav", 100000 }
};

Dictionary<string, object> metadata = await client.MetadataManager
    .CreateFileMetadataAsync(fileId: "12345", metadataValues, "enterprise", "customerInfo");

Java
BoxFile file = new BoxFile(api, "12345");

file.createMetadata(
    "customerInfo",
    "enterprise",
    new Metadata()
        .add("name", "Box, Inc")
        .add("industry", "Technology")
        .add("tav", 100000)
);

Python
metadata = {
    'name': 'Box, Inc',
    'industry': 'Technology',
    'tav': 1000000
}

client.file(file_id='11111').metadata(scope='enterprise', template='customerInfo').set(metadata)

Node
client.files.addMetadata(
    '12345',
    client.metadata.scopes.ENTERPRISE,
    "customerInfo",
    {
        name: "Box, Inc",
        industry: "Technology",
        tav: 1000000
    }
).then(metadata => {
    // ...
});

この例のindustryフィールドはenumフィールドであるため、値にはこのフィールドで使用できるオプションのいずれかを指定する必要があります。それ以外の値を指定するとエラーが発生します。

このAPIにより、新しく作成されたメタデータインスタンスが返されます。

{
  "name": "Box, Inc",
  "industry": "Technology",
  "tav": 1000000,
  "$id": "01234500-12f1-1234-aa12-b1d234cb567e",
  "$parent": "folder_12345,",
  "$scope": "enterprise_34567",
  "$template": "customerInfo",
  "$type": "customerInfo-6bcba49f-ca6d-4d2a-a758-57fe6edf44d0",
  "$typeVersion": 2,
  "$version": 1,
  "$canEdit": true
}