すべてのメタデータテンプレートのリストの取得
すべてのメタデータテンプレートのリストの取得
会社には、ユーザーが独自に作成しなくてもすぐに使用できるメタデータテンプレートのリストがすでに存在することがよくあります。
一般に、メタデータテンプレートには、自社のみで使用できるものと、Boxを使用するすべての企業が使用できるものがあります。テンプレートのscope
により、テンプレートはすべての人が利用可能か (global
)、自社のみで利用可能か (enterprise
) が定義されます。
メタデータのスコープの詳細を確認する
テンプレートのリストの取得
すべてのユーザーが使用できるグローバルテンプレートはいくつかあります。
cURL
curl -i -X GET "https://api.box.com/2.0/metadata_templates/global" \
-H "authorization: Bearer <ACCESS_TOKEN>"
TypeScript Gen
await client.metadataTemplates.getGlobalMetadataTemplates();
Python Gen
client.metadata_templates.get_global_metadata_templates()
.NET Gen
await client.MetadataTemplates.GetGlobalMetadataTemplatesAsync();
Java
Iterable<MetadataTemplate> templates = MetadataTemplate.getEnterpriseMetadataTemplates('global', api);
for (MetadataTemplate templateInfo : templates) {
// Do something with the metadata template.
}
Python
templates = client.get_metadata_templates(scope='global)
for template in templates:
print(f'Metadata template {template.templateKey} is in global scope')
.NET
BoxEnterpriseMetadataTemplateCollection<BoxMetadataTemplate> templates = await client.MetadataManager
.GetEnterpriseMetadataAsync("global");
Node
client.metadata.getTemplates('global')
.then(templates => {
// ...
});
iOS
let iterator = client.metadata.listEnterpriseTemplates(scope: "global")
iterator.next { results in
switch results {
case let .success(page):
for template in page.entries {
print("Template name: \(template.displayName)")
}
case let .failure(error):
print(error)
}
}
これらのテンプレートの多くはBoxの内部使用を目的としたものですが、アプリケーションでこれらを使用したり適用したりすることもできます。会社のニーズに 固有のデータを保持するには、社内のアプリケーションや管理者が作成したテンプレートがより便利です。
cURL
curl -i -X GET "https://api.box.com/2.0/metadata_templates/enterprise" \
-H "authorization: Bearer <ACCESS_TOKEN>"
TypeScript Gen
await client.metadataTemplates.getEnterpriseMetadataTemplates();
Python Gen
client.metadata_templates.get_enterprise_metadata_templates()
.NET Gen
await client.MetadataTemplates.GetEnterpriseMetadataTemplatesAsync();
Java
Iterable<MetadataTemplate> templates = MetadataTemplate.getEnterpriseMetadataTemplates(api);
for (MetadataTemplate templateInfo : templates) {
// Do something with the metadata template.
}
Python
templates = client.get_metadata_templates()
for template in templates:
print(f'Metadata template {template.templateKey} is in enterprise scope')
.NET
BoxEnterpriseMetadataTemplateCollection<BoxMetadataTemplate> templates = await client.MetadataManager
.GetEnterpriseMetadataAsync();
Node
client.metadata.getTemplates('enterprise')
.then(templates => {
/* templates -> {
limit: 100,
entries:
[ { templateKey: 'documentFlow',
scope: 'enterprise_12345',
displayName: 'Document Flow',
hidden: false,
fields:
[ { type: 'string',
key: 'currentDocumentStage',
displayName: 'Current Document Stage',
hidden: false }
{ type: 'string',
key: 'needsApprovalFrom',
displayName: 'Needs Approval From',
hidden: false },
{ type: 'string',
key: 'nextDocumentStage',
displayName: 'Next Document Stage',
hidden: false }
{ type: 'float',
key: 'maximumDaysAllowedInCurrentStage',
displayName: 'Maximum Days Allowed In Current Stage',
hidden: false }
{ templateKey: 'marketingCollateral',
scope: 'enterprise_12345',
displayName: 'Marketing Collateral',
hidden: false,
fields:
[ { type: 'string',
key: 'audience1',
displayName: 'Audience',
hidden: false },
{ type: 'string',
key: 'previousState',
displayName: 'Previous State',
hidden: false } ] },
{ templateKey: 'productInfo',
scope: 'enterprise_12345',
displayName: 'Product Info',
hidden: false,
fields:
[ { type: 'float',
key: 'skuNumber',
displayName: 'SKU Number',
hidden: false },
{ type: 'enum',
key: 'department',
displayName: 'Department',
hidden: false,
options:
[ { key: 'Beauty' },
{ key: 'Shoes' },
{ key: 'Accessories' },
{ key: 'Clothing' },
{ key: 'Handbags' },
{ key: 'Bedding' },
{ key: 'Watches' } ] },
{ type: 'date',
key: 'displayDate',
displayName: 'Display Date',
hidden: false } ] } ],
next_marker: null,
prev_marker: null }
*/
});
iOS
let iterator = client.metadata.listEnterpriseTemplates(scope: "enterprise")
iterator.next { results in
switch results {
case let .success(page):
for template in page.entries {
print("Template name: \(template.displayName)")
}
case let .failure(error):
print(error)
}
}
メタデータテンプレート
メタデータテンプレートには、ファイルまたはフォルダに割り当てることができる一連のキー/値ペアが記載されています。
たとえば、customerInfo
テンプレートは顧客に関するデータを保持しており、顧客名と顧客の業種のフィールドがあるとします。
{
"id": "100ac693-a468-4b37-9535-05984b804dc2",
"type": "metadata_template",
"templateKey": "customerInfo",
"scope": "enterprise_12345",
"displayName": "Customer Info",
"hidden": false,
"copyInstanceOnItemCopy": false,
"fields": [
{
"id": "5c6a5906-003b-4654-9deb-472583fc2930",
"type": "string",
"key": "name",
"displayName": "Name",
"hidden": false
},
{
"id": "cf3eb5b8-52ef-456c-b175-44354a27e289",
"type": "enum",
"key": "industry",
"displayName": "Industry",
"options": [
{"key": "Technology"},
{"key": "Healthcare"},
{"key": "Legal"}
],
"hidden": false
}
]
}