camera.listFiles

카메라의 모든 이미지/모든 동영상/모든 이미지 및 동영상을 나열합니다. 모든 파일을 나열하려면 여러 요청이 필요할 수 있습니다. 이 명령어는 API 수준 2에 추가되었습니다.

카메라가 요청된 매개변수를 지원하지 않으면 카메라는 하드웨어에서 사용할 수 있는 최대 기능을 반환해야 합니다. 예를 들어 드물지만 {entryCount: 500, maxSize: 2000}과 같은 요청이 있을 수 있습니다. 응답은 오류를 발생시키는 대신 카메라에서 지원하는 최대 기능(예: {entryCount: 100, maxSize: 200})을 기반으로 해야 합니다. 다른 모든 경우에는 오류를 발생시키세요. 예를 들어 요청이 {entryCount: 500, maxSize: -500}인 경우 maxSize이 음수이므로 invalidParameterValue 오류가 발생합니다.

매개변수

  • fileType: 나열할 파일의 유형으로, 'image', 'video', 'all'의 세 가지 중 하나여야 합니다.
  • startPosition: (선택사항) 목록에서 반환할 첫 번째 파일의 위치입니다. 생략할 경우 시작 위치는 첫 번째 파일을 나타내는 0입니다. 마지막 파일의 위치보다 큰 경우 오류 응답 대신 결과에 항목이 비어 있는 일반 응답을 반환합니다.
  • entryCount: 원하는 항목 수입니다. 남은 파일의 수보다 많으면 오류 응답 대신 남은 실제 파일이 있는 일반 응답을 반환합니다.
  • maxThumbSize: 썸네일 이미지의 최대 크기입니다. 클라이언트가 결과에서 썸네일 이미지를 생략하려고 할 때는 null로 설정됩니다.

결과

  • entry: 이미지 속성 목록입니다. 각 항목에는 선택사항인 위도와 경도를 제외한 다음 필드가 포함되어야 합니다.
    • 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."
    }
}