Skip to main content

概要

Boxツールを使用すると、フローからBoxクラウドストレージを操作できます。ファイルの一覧取得・検索、アップロード・ダウンロード、フォルダの作成・コピー、共有リンクやコラボレータによる共有、アイテムの削除に対応しています。

主な機能

  • BOX_LIST_FILES
    • Boxフォルダ内のファイル・フォルダを簡易形式(ID、名前、種別、サイズ、更新日時)で一覧取得します。
    • 入力: folder_id(デフォルトはルートフォルダ "0")、limit(1〜1000、デフォルト100)
  • BOX_LIST_FOLDER_ITEMS
    • ページング情報(total_countoffsetnext_marker)付きでBoxフォルダ内のファイル・フォルダを一覧取得します。
    • 入力: folder_idlimitoffset(オフセット方式のページング)、markeruse_marker_based_paging(マーカー方式のページング)、fields(取得するBoxフィールドをカンマ区切りで指定)
  • BOX_SEARCH
    • Box内のファイル・フォルダをキーワードで検索します。
    • 入力: queryfile_extensions(任意、例: "pdf,docx")、ancestor_folder_ids(任意、検索対象フォルダの絞り込み)、limit(1〜200、デフォルト30)
  • BOX_GET_FILE_INFO
    • Boxのファイルまたはフォルダのメタデータを取得します。共有リンク情報も取得できます。
    • 入力: item_iditem_type(file または folder、デフォルト file)、fields
  • BOX_DOWNLOAD_FILE
    • Boxからファイルをダウンロードし、base64エンコードされた内容とファイル名・サイズを返します。
    • 入力: file_id。最大50MBのファイルに対応しています。
  • BOX_UPLOAD_FILE
    • Boxにファイルをアップロードします。base64文字列、データURL(data:<mime>;base64,...)、HTTPS URLのいずれかを指定できます。
    • 入力: filefilename(任意、省略時はファイルURLから抽出)、folder_id(デフォルトはルート "0")。新しい file_idname を返します。
  • BOX_CREATE_FOLDER
    • Boxに新しいフォルダを作成します。
    • 入力: nameparent_folder_id(デフォルトはルート "0")
  • BOX_COPY_FOLDER
    • フォルダを別の場所にコピーします。名前の変更も可能です。Boxの非同期コピーには完了までのポーリングで対応します。
    • 入力: source_folder_idparent_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_iditem_type(デフォルト folder)、login(招待するメールアドレス)または accessible_by_id(既存のBoxユーザー/グループID)、accessible_by_type(user または group)、role(editor(デフォルト)、viewerprevieweruploaderpreviewer uploaderviewer uploaderco-owner)、notify(デフォルト true)
  • BOX_CREATE_SHARED_LINK
    • Boxのファイルまたはフォルダの共有リンクを作成します。
    • 入力: item_iditem_type(デフォルト file)、access(任意、open / company / collaborators)、password(任意)、unshared_at(任意、ISO形式の有効期限日時)、can_download(任意)
  • BOX_DELETE_ITEM
    • Boxのファイル・フォルダを1件または複数件削除します。
    • 入力: item_iditem_type による単一指定、idstypes による複数指定、または { "id": "...", "type": "file|folder" } の配列を渡す itemsrecursive(デフォルト false)を有効にすると空でないフォルダも削除できます。deleted_itemsfailed_items を返します。

認証

すべてのBoxツールは、Box OAuthアクセストークン(ツールconfigの token、シークレットタイプ BOX_OAUTH)を必要とします。 JinbaのシークレットダッシュボードでBoxアカウントを接続してください。BOX_OAUTH シークレットが作成され、アクセストークンの有効期限切れ時にはプラットフォームが自動的にトークンを更新します。ツールconfigでは以下の例のようにトークンを参照します。 注意: 認証情報は機密情報として扱い、公開リポジトリにコミットしないでください。

使用例

例: PDFを検索して最初の1件をダウンロード

例: プロジェクトフォルダを作成してファイルをアップロード・共有

注意事項

  • ファイルサイズ制限: BOX_DOWNLOAD_FILEBOX_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_ITEMrecursivetrue にした場合のみ削除できます。
  • コラボレータのロール: BOX_ADD_COLLABORATOR では owner ロールを付与できません。コラボレーション作成時にBoxが受け付けるのは上記のロールのみです。