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_height)。クライアントが結果からサムネイル画像を省略する場合、null に設定されます。

結果

  • entries: 画像プロパティのリスト。各エントリには以下のフィールドが含まれている必要があります。ただし、緯度と経度はオプションです。
    • name: ファイルの名前。
    • fileUrl: ファイルの絶対 URL。カメラから直接ダウンロードできます。
    • size: バイト単位のファイルサイズ。
    • dateTimeZone: ファイルの日付、時刻、タイムゾーン。形式は「YYYY:MM:DD HH:MM:SS+(-)HH:MM」です。時刻には 24 時間形式を使用します。日付と時刻は 1 つの空白文字で区切られます。タイムゾーンが UTC 時間からオフセットされている。これは、動画のキャプチャの終了を意味します。
    • lat:(省略可)ファイルを取得する際の場所の緯度。
    • lng: (省略可)ファイルを取得する際の場所の経度。
    • 幅: 画像または各動画フレームの幅。
    • 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."
    }
}