4

Boxv2.0apiを使用してBoxをiOSアプリに統合しています。

私が最初に直面した問題は、「フォルダー」APIリクエストによる「エントリ」のAPI呼び出しへの応答が制限されすぎていることです。APIが現在各フォルダの「エントリ」に対して返すものは次のようなものです。

"entries" : 
[
    {
        "sequence_id": "0",
        "type": "file",
        "id": "2631999573",
        "name":"IMG_1312.JPG"
    },
    {
        "type":"folder",
        "id":"2305623799",
        "sequence_id":"1",
        "name":"a child folder"
    }
]

これは、子エントリの基本的なメタデータ(サイズ、変更日など)を取得するには、アイテムごとにRESTリクエストを発行する必要があることを意味します。これは明らかに非常に非効率的です。

「folders/」応答でより豊富なメタデータを取得する方法はありますか?リクエストに適切なクエリを提供することでフィルタリングできます。例えば

GET /folders/980980989?fields=name,id,type,size,modified_at
4

2 に答える 2

4

@auny

それは非常に非効率的です。たとえば、iOS アプリはファイル ビューアーです。ユーザーが Box ディレクトリに移動すると、そのディレクトリ内のすべてのファイルのリストが (テーブル ビューで) 表示されます。ビューは、基本的なファイル メタデータ (名前、サイズ、変更日など) を格納するローカルの「モデル」によってバックアップされます。各ファイルには、名前、サイズ、変更日が表示されます。

v2 api を使用すると、Box はディレクトリ内のファイル (数百、数千、またはそれ以上) に対して個別の REST API 呼び出しを行い、サイズと変更日を決定することを期待しています。これは、モバイルアプリにとって非常に非効率的です.

多くの場合、モバイルでは遅延 (帯域幅ではなく) がパフォーマンスに影響することを忘れないでください。帯域幅も良くないかもしれませんが、数百回の REST 呼び出しのレイテンシーが大きな問題になります。

ディレクトリの基本的なメタデータを決定するための 1 回の REST 呼び出しは、応答にさらに数 KB が必要になる場合でも、数百回の個別の REST 呼び出しよりもはるかに適しています。

フォルダーの応答は、各ディレクトリ エントリのいくつかのメタデータを既に提供しています。追加のフィールドを含めることは、要求によってのみ利用可能であったとしても難しくありません。

クレイジー。

于 2012-08-01T12:12:09.693 に答える
-1

はい、V2 で情報を取得するには、各サブアイテムを照会する必要があります。他に方法はありません。

于 2012-07-31T18:38:41.003 に答える