フォルダ内の項目のリストを取得

get
https://api.box.com/2.0
/folders/:folder_id/items/

フォルダ内の項目のページを取得します。これらの項目はファイル、 フォルダ、ウェブリンクのいずれかになります。

フォルダ自体の詳細情報(サイズなど)をリクエストするには、 代わりにフォルダを取得エンドポイントを使用してください。

リクエスト

Bearer [ACCESS_TOKEN]
application/json

パスパラメータ

stringパス内必須
0

フォルダを表す一意の識別子。

フォルダIDを確認するには、ウェブアプリケーションでこのフォルダにアクセスして、URLからIDをコピーします。たとえば、URLがhttps://*.app.box.com/folder/123の場合、folder_id123です。

Boxアカウントのルートフォルダは常にID 0で表されます。

クエリパラメータ

stringクエリ内省略可能
ASC

結果を並べ替える方向。アルファベットの昇順(ASC)または降順(DESC)のいずれかを指定できます。

次の値のいずれか1つ: ASC,DESC

string arrayクエリ内省略可能
id,type,name

応答に含める属性のカンマ区切りリスト。このパラメータを使用すると、標準の応答には通常含まれないフィールドをリクエストできます。

このパラメータを指定すると、明示的に指定しない限り標準フィールドは応答に含まれず、リクエストしたフィールドのほかには、簡易版レプリゼンテーションのフィールドしか返されないことに注意してください。

また、このフィールドを使用すると、ファイルに適用されている任意のメタデータに対してクエリを実行できます。その際、metadataフィールドのほか、取得するテンプレートのスコープとキー (例: ?field=metadata.enterprise_12345.contractTemplate) も指定します。

integer / int64クエリ内省略可能
10001000

返す項目の1ページあたりの最大数。

stringクエリ内省略可能
JV9IRGZmieiBasejOG9yDCRNgd2ymoZIbjsxbJMjIs3kioVii

結果が返される開始位置のマーカー。マーカーベースのページ割りを使用している場合に使用されます。

これを使用するには、usemarkertrueに設定する必要があります。

integer / int64クエリ内省略可能
10000

応答が開始される項目のオフセット。

stringクエリ内省略可能
id

項目並べ替えの2番目の基準として使用される属性を定義します。

項目は必ず最初にtypeを基準にして並べ替えられ、 フォルダはファイルよりも前に、 ファイルはウェブリンクよりも前にリストされます。

ルートフォルダ(ID 0のフォルダ)の場合、このパラメータを使用したマーカーに基づくページ割りはサポートされません。

次の値のいずれか1つ: id,name,date,size

booleanクエリ内省略可能
true

オフセットベースのページ割り方式ではなく マーカーベースのページ割り方式を使用するかどうかを指定します。同時に使用できるページ割りの方式は 1つのみです。

この値をtrueに設定すると、APIは、応答の次のページを取得するために、 このエンドポイントにパラメータとして渡すことができる markerフィールドを返します。

リクエストヘッダー

stringヘッダー内
省略可能
shared_link=[link]&shared_link_password=[password]

この項目の共有リンクのURLと省略可能なパスワード。

このヘッダーを使用すると、ユーザーと明示的に共有されていない項目にアクセスできます。

shared_link=[link]形式を使用するか、パスワードが必要な場合はshared_link=[link]&shared_link_password=[password]を使用します。

このヘッダーは、共有されているファイルまたはフォルダのほか、その項目内にネストされているすべてのファイルやフォルダで使用できます。

レスポンス

application/jsonItems

フォルダに含まれるファイル、フォルダ、およびウェブリンクのコレクションを返します。

Authorizationヘッダーで指定されているアクセストークンが認識されないか、指定されていない場合に返されます。

フォルダが見つからない場合、またはユーザーにフォルダへの アクセス権限が与えられていない場合に返されます。

folder_idが認識されていない形式で指定されている場合に返されます。

予期しないクライアントエラー。

get
フォルダ内の項目のリストを取得
このドキュメント内で一部のAPIを試せるようになりました。
ログイン

リクエストの例

cURL
curl -i -X GET "https://api.box.com/2.0/folders/0/items" \
     -H "Authorization: Bearer <ACCESS_TOKEN>"
.NET
BoxCollection<BoxItem> folderItems = await client.FoldersManager.GetFolderItemsAsync("11111", 100);
Java
BoxFolder folder = new BoxFolder(api, "id");
for (BoxItem.Info itemInfo : folder) {
    if (itemInfo instanceof BoxFile.Info) {
        BoxFile.Info fileInfo = (BoxFile.Info) itemInfo;
        // Do something with the file.
    } else if (itemInfo instanceof BoxFolder.Info) {
        BoxFolder.Info folderInfo = (BoxFolder.Info) itemInfo;
        // Do something with the folder.
    }
}
Python
items = client.folder(folder_id='22222').get_items()
for item in items:
    print('{0} {1} is named "{2}"'.format(item.type.capitalize(), item.id, item.name))
Node
client.folders.getItems(
    '12345',
    {
        usemarker: 'false',
        fields: 'name',
        offset: 0,
        limit: 25
    })
    .then(items => {
        /* items -> {
            total_count: 2,
            entries: 
            [ { type: 'folder',
                id: '11111',
                sequence_id: '1',
                etag: '1',
                name: 'Personal Documents' },
                { type: 'file',
                id: '22222',
                sequence_id: '0',
                etag: '0',
                name: 'Q2 Strategy.pptx' } ],
            offset: 0,
            limit: 25,
            order: 
            [ { by: 'type', direction: 'ASC' },
                { by: 'name', direction: 'ASC' } ] }
        */
    });
iOS
let folderItems = client.folders.listItems(folderId: "22222", sort: .name, direction: .ascending) { results in
    switch results {
    case let .success(iterator):
        for i in 1 ... 10 {
            iterator.next { result in
                switch result {
                case let .success(item):
                    switch item {
                    case let .file(file):
                        print("File \(file.name) (ID: \(file.id)) is in the folder")
                    case let .folder(folder):
                        print("Subfolder \(folder.name) (ID: \(folder.id)) is in the folder")
                    case let .webLink(webLink):
                        print("Web link \(webLink.name) (ID: \(webLink.id)) is in the folder")
                    }
                case let .failure(error):
                    print(error)
                }
            }
        }
    case let .failure(error):
        print(error)
    }
}

レスポンスの例

{
  "entries": [
    {
      "id": 12345,
      "etag": 1,
      "type": "file",
      "sequence_id": 3,
      "name": "Contract.pdf",
      "sha1": "85136C79CBF9FE36BB9D05D0639C70C265C18D37",
      "file_version": {
        "id": 12345,
        "type": "file_version",
        "sha1": "134b65991ed521fcfe4724b7d814ab8ded5185dc"
      }
    }
  ],
  "limit": 1000,
  "offset": 2000,
  "order": [
    {
      "by": "type",
      "direction": "ASC"
    }
  ],
  "total_count": 5000
}