camera.listFiles

カメラ内のすべての画像、すべての動画、すべての画像や動画をリストします。すべてのファイルを一覧表示するには、複数のリクエストが必要になる場合があります。このコマンドは API レベル 2 で追加されました。

リクエストされたパラメータをカメラがサポートしていない場合、カメラはハードウェアで利用可能な最大機能を返す必要があります。たとえば、まれなケースとしては {entryCount: 500, maxSize: 2000} というリクエストが考えられます。レスポンスは、エラーをスローする代わりに、カメラがサポートする最大機能({entryCount: 100, maxSize: 200} など)に基づく必要があります。それ以外の場合はすべてエラーをスローしてください。たとえば、リクエストが {entryCount: 500, maxSize: -500} の場合、maxSize が負の値であるため、エラー invalidParameterValue をスローします。

パラメータ

  • fileType: リストするファイルのタイプ。"image"、"video"、"all" の 3 つのいずれかを指定します。
  • startPosition: (省略可)リストで返される最初のファイルの位置。省略した場合、開始位置は 0(最初のファイル)になります。この値が最後のファイルの位置より大きい場合、エラー レスポンスではなく、空のエントリを含む通常のレスポンスを返します。
  • entryCount: 返されるエントリの数。残りのファイル数を超えている場合は、エラー レスポンスではなく、残りの実際のファイルを含む通常のレスポンスを返します。
  • maxThumbSize: サムネイル画像の最大サイズ。max(thumbnail_width,thumbnail_width,thumbnail_height)。クライアントが結果からサムネイル画像を除外する場合は、null に設定します。

結果

  • entries: 画像プロパティのリスト。各エントリには、省略可能な緯度と経度を除いて、次のフィールドを含める必要があります。
    • name: ファイルの名前。
    • fileUrl: ファイルの絶対 URL。カメラから直接ダウンロードする際に使用できます。
    • size: ファイルのサイズ(バイト単位)。
    • dateTimeZone: ファイルの日付、時刻、タイムゾーン(形式: YYYY:MM:DD HH:MM:SS+(-)HH:MM)。時刻には 24 時間形式を使用します。日付と時刻は空白文字で区切られます。タイムゾーンは UTC 時間からのオフセットです。これで、動画のキャプチャが終了します。
    • lat:(省略可)ファイル キャプチャ時の場所の緯度。
    • lng: (省略可)ファイル キャプチャ時の場所の経度。
    • width: 画像または各動画フレームの幅。
    • height: 画像または各動画フレームの高さ。
    • thumbnail: ファイルのサムネイル画像の Base64 でエンコードされた文字列(maxThumbSize != null の場合)。
    • isProcessed: ファイルが処理済み(合成など)か、プレビューのみかを示すブール値。delayProcessing が true に設定されていない限り、これはデフォルトで true になります。処理済みの画像が存在する場合、対応するプレビュー画像が存在してもリストされません。存在しない場合は、プレビュー画像のリストを表示します。
    • previewUrl: delayProcessing がサポートされていない場合、isProcessed が false の場合、またはプレビュー画像が中間結果として生成されなかった場合、デフォルトは空の文字列です。それ以外の場合は、最終画像に対応するプレビュー画像の URL になります。これは、プレビュー画像と最終的な画像間の対応関係を構築するために使用されます。
  • totalEntries: ストレージ内の fileType のエントリの合計数。たとえば、fileType が「image」の場合は、ストレージ内の画像の合計数です。

エラー

  • missingParameter: 必須パラメータが指定されていません。たとえば、entryCount が指定されていません。
  • invalidParameterName: 入力パラメータ名を認識できません。
  • invalidParameterValue: 入力パラメータ名は認識されていますが、値が無効です。たとえば、entryCount が負の数であるか、データ型が正しくありません。

コマンド I/O

コマンド入力
{
    "parameters": {
        "entryCount": 50,
        "maxThumbSize": 100
    }
}
コマンド出力
{
    "results": {
        "entries": [
            {
                "name": "abc",
                "fileUrl": "file URL",
                "size":  file size, # of bytes,
                "dateTimeZone": "2014:12:27 08:00:00+08:00",
                "lat": 50.5324,
                "lng": -120.2332,
                "width": 2000,
                "height": 1000,
                "thumbnail": "ENCODEDSTRING",
                "isProcessed": true,
                "previewUrl": ""
            }
            ...
            {
                ...
            }
        ],
        "totalEntries": 250
    }
}
コマンド出力(エラー)
{
    "error": {
        "code": "invalidParameterValue",
        "message": "Parameter entryCount is negative."
    }
}