コンテンツプレビューUI Elementとコンテンツプレビューライブラリ
ReactコンポーネントはBox Content Previewライブラリのラッパーであるため、コンテンツプレビューUI Elementの動作は、他のUI Elementsとは異なります。また、プレビューライブラリのバンドルはローカライズされているため、コンテンツプレビューUI Elementでは言語 (デフォルトはen-US) を渡す必要もあります。
インストール
NPMまたはBox CDN経由でBox UI Elementsをインストールする方法は、を参照してください。認証
UI Elementは認証に依存しない方法で設計されているため、Boxの管理対象ユーザーとBox以外のユーザー (App User) のどちらでも機能します。その理由は、UI Elementは認証にのみを想定していて、Boxにはトークンの生成方法としてOAuthとJWTの2つがあるからです。認証方法の選択について確認する
サポートされているファイルの種類
Box Content Previewでは、ドキュメントと画像のほとんどの形式、HD動画、3Dモデル、360度画像、360度動画など、120以上のファイルタイプがサポートされています。サポートされているファイルの種類については、こちらで確認できます。デモ
ナビゲーション用の矢印を使用すると、さまざまなファイルタイプをプレビューできます。API
パラメータ
オプション
トークン生成関数
プレビューライブラリでは、オプションで、文字列トークンの代わりに、トークン生成関数を使用できます。トークン生成関数を使用すると、プレビューで使用するトークンを動的に決定できます。たとえば、ファイルごとに異なるアクセストークンを渡したり、プレビューを表示する前にトークンが更新されて有効であることを確認したりできます。トークン生成関数ではPromiseが返され、プレビューされるすべてのファイルに適用される単一の文字列トークンか、これらのファイルのアクセストークンへの指定のファイルIDのマップに解決されます。イベント
プレビューオブジェクトは、イベントにバインドするためのaddListenerとremoveListenerを公開します。イベントリスナーはshow()が呼び出される前にバインドする必要があります。そうしないと、イベントが見つからない可能性があります。
EVENTNAMEには、以下のいずれかを指定できます。
-
viewerイベントは、ビューアーインスタンスが最初に使用可能になったときにトリガーされます。これは、loadイベントにも含まれているプロパティと同じオブジェクトです。プレビューでは、loadの前にこのイベントがトリガーされるため、クライアントは、loadイベントがトリガーされる前にそのリスナーをアタッチできます。 -
loadイベントは、show()が呼び出されたときかプレビュー間の移動が発生したときに、プレビューが読み込まれるたびにトリガーされます。イベントデータには以下の内容が含まれます。 -
navigateイベントは、移動が発生したときにトリガーされます。イベントには移動先のファイルのファイルIDが含まれており、このイベントはloadの前にトリガーされます。 -
notificationイベントは、プレビューラッパーまたはいずれかのビューアーで警告や致命的ではないエラーなどの通知を表示する場合にトリガーされます。イベントデータには以下の内容が含まれます。 -
viewerevent: ビューアーごとに、一連の独自のイベントがトリガーされます。たとえば、画像ビューアーではrotateやresizeなどがトリガーされるのに対し、別のビューアーでは別の一連のイベントがトリガーされる場合があります。プレビューラッパーは、以下を含むイベントデータとともに、プレビューレベルでイベントを再発行します。
イベントの使用例
注釈
コンテンツプレビューで、V4のを有効にすることができます。新しい注釈はリアルタイムで同期されます。 V4の注釈をプレビューに追加するには、以下の手順に従います。npm i box-annotations@latestを実行し、Boxの注釈をインストールします。
npm i box-ui-elements@16.0.0を実行し、注釈に関連した変更を含むBUIEバージョンをインストールします。
-
次のように、コンテンツプレビューとBoxの注釈をアプリケーションにインポートします。
Box AI for UI Elements
Box AI for UI Elementsは、追加機能によってコンテンツプレビューUI Elementを強化するため、開発者はPlatformアプリにBox Q&A AI機能を追加できるようになります。Box AIの機能で強化されたプレビューUI Elementでは、以下の機能を提供します。- Q&Aとドキュメントの要約。
- Box AIとの会話をリセットする [会話をクリア] ボタン。
- 回答の下に表示される引用情報 (回答に含まれる場合)。
- 箇条書きや表などのマークダウン形式の応答のリクエストを可能にする、書式設定サポート。
- 可能な限り最適な応答を得られるように以前のコンテキストの参照を可能にする、質問履歴。質問履歴は現在のセッションの間のみ保持されます。
- 会話をサポートするために、デフォルトでチャットの先頭に表示される質問の候補。

Box AI for UI Elementsの有効化
コンテンツプレビューのヘッダーでBox AIウィンドウを有効にするには、以下の手順に従います。-
NodeおよびReactのバージョンが
18.x以上であることを確認します。 - Box AI for UI Elementsを含むnpmパッケージをダウンロードするか、から直接ダウンロードします。
-
以下のピア依存関係をインストールします。
そのためには、次のコマンドを実行します。
JavaScriptの使用
Box AIの機能を有効にするには、以下を渡します。trueに設定したhasHeaderプロパティcontentAnswersPropsプロパティ。デフォルトでshow、isCitationsEnabled、isMarkdownEnabled、isResetChatEnabled、suggestedQuestionsの各フィールドが含まれています。
Reactコンポーネントの使用
ReactコンポーネントのヘッダーにBox AI要素を追加することもできます。そのためには、以下を追加します。trueに設定したhasHeaderプロパティcontentAnswersPropsプロパティ。デフォルトでshow、isCitationsEnabled、isMarkdownEnabled、isResetChatEnabled、suggestedQuestionsの各フィールドが含まれています。
suggestedQuestionsを適切にローカライズするには、プロンプトが翻訳されていることを確認してください。省略可能なlabelプロパティはスクリーンリーダー用であるのに対し、promptプロパティはAIウィンドウでユーザーに表示されるテキストです。onAsk、onClearConversations、onRequestClose) を使用して、さらにアプリをカスタマイズできます。
スコープ
アプリケーションで、エンドユーザーがコンテンツプレビュー機能のサブセットのみにアクセスできるようにする必要がある場合は、を使用して、アクセストークンを適切にダウンスコープして必要な権限のセットを含むトークンを生成し、コンテンツプレビューを初期化するエンドユーザークライアントに安全に渡すことができます。 以下は、ダウンスコープと一緒に使用する、UI Element固有の新しいスコープのセットです。こうしたスコープにより、開発者は、ダウンスコープされたトークンに適切なスコープを構成して、コンテンツプレビューのUIコントロールを有効/無効にすることができます。詳細については、を参照してください。基本スコープ
機能のスコープ
スコープを使用してハイライトによる注釈を有効にする ハイライト注釈は
annotation_editおよびannotation_view_allスコープに含まれていません。ハイライトを有効にするには、ダウンスコープされたアクセストークンにitem_downloadスコープを含める必要があります。