コンテンツエクスプローラ - メタデータビュー
コンテンツエクスプローラ - メタデータビュー
コンテンツエクスプローラを使用すると、メタデータに基づいてファイルを表示することもできます。メタデータビューでは、メタデータテンプレートとメタデータクエリを使用して、表示するデータを探します。
前提条件
- コンテンツエクスプローラガイドを読む。
- メタデータの用語を確認する。
- メタデータクエリに関する情報を確認する。
アプリの作成と構成
- Boxアプリを作成します。
- [CORSドメイン] にローカルでの開発用のアドレスを追加します。
- 開発者トークンを生成します。
メタデータテンプレートの作成
次の手順では、メタデータテンプレートを作成します。
- メタデータAPIまたは管理コンソールを使用してテンプレートを作成します。
- すでに作成済みのテンプレートをBoxフォルダに適用します。必ずカスケードポリシーを有効にするようにしてください。詳細な手順については、テンプレートのカスタマイズと適用の手順を参照してください。
表示名と主なパラメータ
displayName
パラメータは、管理コンソールに表示されるテンプレートの表示名です。templateKey
パラメータは、テンプレートの一意の識別子です。これは、メタデータテンプレート作成の対象となる企業全体で一意である必要があります。templateKey
パラメータを指定しなかった場合は、APIによって、displayName
の値を基に一意の識別子が作成されます。[fields].displayName
パラメータは、ウェブアプリおよびモバイルアプリでユーザーに表示されるフィールドの表示名です。[fields].key
パラメータは、テンプレート内の特定のフィールドの一意の識別子です。この識別子は、そのフィールドが属するテンプレート内で一意である必要があります。
メタデータビューの表示
次に、コンテンツエクスプローラに渡される必須のプロパティを入力します。作業を簡単にするために、基本的なReactアプリに基づいたサンプルプロジェクトを使用して、メタデータビューを起動できます。
- メタデータのサンプルプロジェクトを複製します。
App.js
内のプレースホルダを実際の値で更新します。
パラメータ | 説明 |
---|---|
DEVELOPER_TOKEN | 開発者コンソールで生成された開発者トークン。 |
ENTERPRISE_ID | Boxアプリケーションの [一般設定] タブからコピーしたEnterprise ID。 |
METADATA_TEMPLATE_NAME | 作成済みのメタデータテンプレートのtemplateKey 。注: 適切な名前を指定済みであることを確認するには、メタデータAPIを使用して名前を取得するか、管理コンソールでURLから名前をコピーします。
![]() |
METADATA_SOURCE | メタデータのソース。これは、スコープ、Enterprise ID、メタデータキーを組み合わせた文字列です。 |
ROOTFOLDER_ID | メタデータクエリを適用してフィルタがかけられたファイルを表示するBoxフォルダのID。 |
defaultView
、fieldsToShow
、metadataQuery
の各パラメータは、すでにサンプルプロジェクトで定義されています。これらのパラメータの例は、サンプルプロジェクトで確認できます。
パラメータ | 説明 |
---|---|
defaultView | メタデータビューを描画するための必須プロパティ。指定されていない場合は、通常のファイルビューが表示されます。 |
fieldsToShow | コンテンツエクスプローラに表示する特定のメタデータ列を追加または非表示にします。 |
metadataQuery | ファイルに設定されているメタデータを検索してそのファイルを探す方法を指定します。メタデータクエリの詳細については、こちらのガイドを参照してください。 |
- コンテンツエクスプローラコンポーネントに必須パラメータを渡します。
コンテンツエクスプローラのメタデータビューを含むReactコンポーネントのサンプルコードは次のようになります。
function App() {
const token = "<DEVELOPER_TOKEN>";
const rootFolderID = "<ROOTFOLDER_ID>";
const EID = "<ENTERPRISE_ID>";
const templateName = "<METADATA_TEMPLATE_NAME>";
const metadataSource = `enterprise_${EID}.${templateName}`;
const metadataSourceFieldName = `metadata.${metadataSource}`;
const metadataQuery = {
from: metadataSource,
query: "key = :arg1",
query_params: { arg1: "value" },
ancestor_folder_id: 0,
fields: [
`${metadataSourceFieldName}.name`,
`${metadataSourceFieldName}.last_contacted_at`,
`${metadataSourceFieldName}.industry`,
`${metadataSourceFieldName}.role`,
],
};
const fieldsToShow = [
// canEdit propetry determines if the user can edit the metadata directly from Content Explorer component
{ key: `${metadataSourceFieldName}.name`, canEdit: false },
// displayName alows to change the label on metadata column
{ key: `${metadataSourceFieldName}.industry`, canEdit: false, displayName: "alias" },
{ key: `${metadataSourceFieldName}.last_contacted_at`, canEdit: true },
{ key: `${metadataSourceFieldName}.role`, canEdit: true },
];
const defaultView = "metadata";
return (
<IntlProvider locale="en">
<div className="App">
<header className="App-header">
<h2>Metadata view in Content Explorer</h2>
</header>
<section>
<div className="metadata-based-view">
<ContentExplorer
rootFolderId={rootFolderID}
token={token}
metadataQuery={metadataQuery}
fieldsToShow={fieldsToShow}
defaultView={defaultView}
/>
</div>
</section>
</div>
</IntlProvider>
);
}
export default App;
メタデータキー
表示するフィールドを決定するには、メタデータのコンテンツエクスプローラで、表示名ではなく、メタデータのフィールドキーを使用します。表示名は管理コンソールやユーザービューで確認できる一方、フィールドキーはAPIを使用して取得できます。
フィールドキーは、メタデータの表示名を変更した場合でも変わりません。これにより、UIビューでメタデータが変更されても、この機能は正常に動作します。
メタデータキーのサニタイズ
キーは、英数字のみに制限されています。
- ハイフン
-
とアンダースコア_
は許可されていません。 - 許可されているのは文字 (
a-z, A-Z
) と数字 (0-9
) のみです。
ラテン語以外の文字:
キーにラテン語以外のアルファベット (キリル文字、アラビア語、中国語など) が含まれている場合、それらは自動的に共通識別子に変更されます。
- 最初に出現した文字は
field
- それ以降出現した文字は
field1
、field2
と続く
キーは、表示名に基づいています。