BoxWorks 2024でコンテンツとAIの可能性について紹介します。
詳細を表示メタデータテンプレートのインスタンスをファイルに適用します。
ほとんどの場合、メタデータテンプレートに存在する値のみを使用できます。ただし、任意のキー/値ペアを使用できるglobal.properties
テンプレートは除きます。
12345
ファイルを表す一意の識別子。
ファイルIDを確認するには、ウェブアプリケーションでファイルにアクセスして、URLからIDをコピーします。たとえば、URLがhttps://*.app.box.com/files/123
の場合、file_id
は123
です。
global
メタデータテンプレートのスコープ
次の値のいずれか1つ: global
,enterprise
properties
メタデータテンプレートの名前
"Aaron Levie"
メタデータテンプレートに存在する各フィールドの値。global.properties
テンプレートの場合、汎用的なキー/値ペアをテンプレートに保存できるため、0個以上のフィールドのリストにすることができます。
テンプレートに適用されたデータを含む、ファイルに適用されたテンプレートのインスタンスを返します。
リクエスト本文が無効な場合にエラーを返します。
schema_validation_failed
- リクエスト本文に、存在しないフィールドか、値またはタイプが期待されるフィールドタイプと一致しないフィールドの値が含まれています。たとえば、enum
またはmultiSelect
フィールドに不明なオプションが指定されている場合があります。ファイルテンプレートまたはメタデータテンプレートが見つからなかった場合にエラーを返します。
not_found
- ファイルが見つからないか、ユーザーがファイルにアクセスできない場合に返されます。instance_tuple_not_found
- メタデータテンプレートが見つかりませんでした。このメタデータテンプレートのインスタンスがすでにファイルに存在する場合はエラーを返します。
tuple_already_exists
- メタデータテンプレートのインスタンスがすでにファイルに存在する場合に返されます。予期しないクライアントエラー。
curl -i -X POST "https://api.box.com/2.0/files/12345/metadata/enterprise_27335/blueprintTemplate" \
-H "authorization: Bearer <ACCESS_TOKEN>" \
-H "content-type: application/json" \
-d '{
"audience": "internal",
"documentType": "Q1 plans",
"competitiveDocument": "no",
"status": "active",
"author": "Jones",
"currentState": "proposal"
}'
await client.fileMetadata.createFileMetadataById(
file.id,
'enterprise' as CreateFileMetadataByIdScope,
templateKey,
{
['name']: 'John',
['age']: 23,
['birthDate']: '2001-01-03T02:20:50.520Z',
['countryCode']: 'US',
['sports']: ['basketball', 'tennis'],
}
);
client.file_metadata.create_file_metadata_by_id(
file.id,
CreateFileMetadataByIdScope.ENTERPRISE.value,
template_key,
{
"name": "John",
"age": 23,
"birthDate": "2001-01-03T02:20:50.520Z",
"countryCode": "US",
"sports": ["basketball", "tennis"],
},
)
await client.FileMetadata.CreateFileMetadataByIdAsync(fileId: file.Id, scope: CreateFileMetadataByIdScope.Enterprise, templateKey: templateKey, requestBody: new Dictionary<string, object>() { { "name", "John" }, { "age", 23 }, { "birthDate", "2001-01-03T02:20:50.520Z" }, { "countryCode", "US" }, { "sports", Array.AsReadOnly(new [] {"basketball","tennis"}) } });
// Add property "foo" with value "bar" to the default metadata properties
BoxFile file = new BoxFile(api, "id");
file.createMetadata(new Metadata().add("/foo", "bar"));
metadata = {
'foo': 'bar',
'baz': 'quux',
}
applied_metadata = client.file(file_id='11111').metadata().create(metadata)
print(f'Applied metadata in instance ID {applied_metadata["$id"]}')
var metadataValues = new Dictionary<string, object>()
{
{ "audience", "internal" },
{ "documentType", "Q1 plans" },
{ "competitiveDocument", "no" },
{ "status", "active" },
{ "author": "M. Jones" },
{ "currentState": "proposal" }
};
Dictionary<string, object> metadata = await client.MetadataManager
.CreateFileMetadataAsync(fileId: "11111", metadataValues, "enterprise", "marketingCollateral");
var metadataValues = {
audience: "internal",
documentType: "Q1 plans",
competitiveDocument: "no",
status: "active",
author: "Jones",
currentState: "proposal"
};
client.files.addMetadata('11111', client.metadata.scopes.ENTERPRISE, "marketingCollateral", metadataValues)
.then(metadata => {
/* metadata -> {
audience: 'internal',
documentType: 'Q1 plans',
competitiveDocument: 'no',
status: 'active',
author: 'Jones',
currentState: 'proposal',
'$type': 'marketingCollateral-d086c908-2498-4d3e-8a1f-01e82bfc2abe',
'$parent': 'file_11111',
'$id': '2094c584-68e1-475c-a581-534a4609594e',
'$version': 0,
'$typeVersion': 0,
'$template': 'marketingCollateral',
'$scope': 'enterprise_12345' }
*/
});
let metadata = [
"name": "John Doe",
"birthday": "2000-01-01T00:00:00Z",
"department": "Sales"
]
client.metadata.create(
forFileWithId: "11111",
scope: "enterprise",
templateKey: "personnelRecord",
keys: metadata
) { (result: Result<MetadataObject, BoxSDKError>) in
guard case let .success(metadata) = result {
print("Error adding metadata")
return
}
print("Successfully attached metadata")
}
{
"$canEdit": true,
"$id": "01234500-12f1-1234-aa12-b1d234cb567e",
"$parent": "folder_59449484661,",
"$scope": "enterprise_27335",
"$template": "marketingCollateral",
"$type": "properties-6bcba49f-ca6d-4d2a-a758-57fe6edf44d0",
"$typeVersion": 2,
"$version": 1
}