概要
Boxツールを使用すると、フローからBoxクラウドストレージを操作できます。ファイルの一覧取得・検索、アップロード・ダウンロード、フォルダの作成・コピー、共有リンクやコラボレータによる共有、アイテムの削除に対応しています。主な機能
BOX_LIST_FILES- Boxフォルダ内のファイル・フォルダを簡易形式(ID、名前、種別、サイズ、更新日時)で一覧取得します。
- 入力:
folder_id(デフォルトはルートフォルダ"0")、limit(1〜1000、デフォルト100)
BOX_LIST_FOLDER_ITEMS- ページング情報(
total_count、offset、next_marker)付きでBoxフォルダ内のファイル・フォルダを一覧取得します。 - 入力:
folder_id、limit、offset(オフセット方式のページング)、markerとuse_marker_based_paging(マーカー方式のページング)、fields(取得するBoxフィールドをカンマ区切りで指定)
- ページング情報(
BOX_SEARCH- Box内のファイル・フォルダをキーワードで検索します。
- 入力:
query、file_extensions(任意、例:"pdf,docx")、ancestor_folder_ids(任意、検索対象フォルダの絞り込み)、limit(1〜200、デフォルト30)
BOX_GET_FILE_INFO- Boxのファイルまたはフォルダのメタデータを取得します。共有リンク情報も取得できます。
- 入力:
item_id、item_type(fileまたはfolder、デフォルトfile)、fields
BOX_DOWNLOAD_FILE- Boxからファイルをダウンロードし、base64エンコードされた内容とファイル名・サイズを返します。
- 入力:
file_id。最大50MBのファイルに対応しています。
BOX_UPLOAD_FILE- Boxにファイルをアップロードします。base64文字列、データURL(
data:<mime>;base64,...)、HTTPS URLのいずれかを指定できます。 - 入力:
file、filename(任意、省略時はファイルURLから抽出)、folder_id(デフォルトはルート"0")。新しいfile_idとnameを返します。
- Boxにファイルをアップロードします。base64文字列、データURL(
BOX_CREATE_FOLDER- Boxに新しいフォルダを作成します。
- 入力:
name、parent_folder_id(デフォルトはルート"0")
BOX_COPY_FOLDER- フォルダを別の場所にコピーします。名前の変更も可能です。Boxの非同期コピーには完了までのポーリングで対応します。
- 入力:
source_folder_id、parent_folder_id(デフォルト"0")、name(任意)、wait_for_completion(デフォルトtrue)、max_poll_attempts(0〜30、デフォルト10)、poll_interval_ms(0〜30000、デフォルト1000)
BOX_ADD_COLLABORATOR- Boxのファイルまたはフォルダにユーザーやグループをコラボレータとして招待します。
- 入力:
item_id、item_type(デフォルトfolder)、login(招待するメールアドレス)またはaccessible_by_id(既存のBoxユーザー/グループID)、accessible_by_type(userまたはgroup)、role(editor(デフォルト)、viewer、previewer、uploader、previewer uploader、viewer uploader、co-owner)、notify(デフォルトtrue)
BOX_CREATE_SHARED_LINK- Boxのファイルまたはフォルダの共有リンクを作成します。
- 入力:
item_id、item_type(デフォルトfile)、access(任意、open/company/collaborators)、password(任意)、unshared_at(任意、ISO形式の有効期限日時)、can_download(任意)
BOX_DELETE_ITEM- Boxのファイル・フォルダを1件または複数件削除します。
- 入力:
item_idとitem_typeによる単一指定、idsとtypesによる複数指定、または{ "id": "...", "type": "file|folder" }の配列を渡すitems。recursive(デフォルトfalse)を有効にすると空でないフォルダも削除できます。deleted_itemsとfailed_itemsを返します。
認証
すべてのBoxツールは、Box OAuthアクセストークン(ツールconfigのtoken、シークレットタイプ BOX_OAUTH)を必要とします。
JinbaのシークレットダッシュボードでBoxアカウントを接続してください。BOX_OAUTH シークレットが作成され、アクセストークンの有効期限切れ時にはプラットフォームが自動的にトークンを更新します。ツールconfigでは以下の例のようにトークンを参照します。
注意: 認証情報は機密情報として扱い、公開リポジトリにコミットしないでください。
使用例
例: PDFを検索して最初の1件をダウンロード
例: プロジェクトフォルダを作成してファイルをアップロード・共有
注意事項
- ファイルサイズ制限:
BOX_DOWNLOAD_FILEとBOX_UPLOAD_FILEは最大50MBのファイルに対応しています。これを超えるファイルはエラーになります(Boxのチャンクアップロード APIには未対応です)。 - ルートフォルダ: BoxのルートフォルダのIDは常に
"0"です。フォルダ関連の入力はデフォルトでルートを指します。 - ページング:
BOX_LIST_FILESはページング情報を含まない簡易一覧を返します(最大1000件)。total_countやオフセット方式・マーカー方式(next_marker)のページングが必要な場合はBOX_LIST_FOLDER_ITEMSを使用してください。 - 検索件数の上限:
BOX_SEARCHは1回の呼び出しで最大200件まで返します。 - フォルダコピーの非同期処理: 大きなフォルダのコピーはBox側で非同期に処理されることがあります。
BOX_COPY_FOLDERは完了まで(最大max_poll_attempts回)ポーリングし、完了しなかった場合は結果にpending: trueが含まれます。 - フォルダの削除: 空でないフォルダは、
BOX_DELETE_ITEMでrecursiveをtrueにした場合のみ削除できます。 - コラボレータのロール:
BOX_ADD_COLLABORATORではownerロールを付与できません。コラボレーション作成時にBoxが受け付けるのは上記のロールのみです。