camera.listFiles

Перечисляет все изображения/все видео/все изображения и видео в камере. Для вывода списка всех файлов может потребоваться несколько запросов. Эта команда была добавлена ​​на уровне API 2.

Если камера не поддерживает запрошенные параметры, она должна вернуть максимальные возможности, доступные для оборудования. Например, редким случаем может быть запрос: {entryCount: 500, maxSize: 2000} . Вместо выдачи ошибки ответ должен основываться на максимальной возможности, поддерживаемой камерой, например: {entryCount: 100, maxSize: 200} . Пожалуйста, выкиньте ошибки для всех остальных случаев; например, когда запрос имеет вид {entryCount: 500, maxSize: -500} , он должен выдать ошибку invalidParameterValue , поскольку maxSize имеет отрицательное значение.

Параметры

  • fileType: Тип файлов, которые будут перечислены, должен быть любым из трех: «изображение», «видео», «все».
  • startPosition: (Необязательно) Позиция первого файла, который будет возвращен в списке. Если этот параметр опущен, стартовая позиция равна 0, что соответствует первому файлу. Если оно больше позиции последнего файла, верните нормальный ответ с пустыми записями в результатах вместо ответа об ошибке.
  • enterCount: Желаемое количество возвращаемых записей. Если оно превышает количество оставшихся файлов, просто верните нормальный ответ с фактически оставшимися файлами вместо ответа об ошибке.
  • maxThumbSize: максимальный размер миниатюр изображений; max(ширина_миниатюры, высота_миниатюры). Ему присваивается значение null когда клиент хочет исключить миниатюры изображений из результата.

Результаты

  • записи: список свойств изображения. Каждая запись должна содержать следующие поля, за исключением широты и долготы, которые не являются обязательными:
    • имя: Имя файла.
    • fileUrl: абсолютный URL-адрес файла, который можно использовать для загрузки напрямую с камеры.
    • размер: Размер файла в байтах.
    • dateTimeZone: дата, время и часовой пояс файла в формате: YYYY:MM:DD HH:MM:SS+(-)HH:MM . Используйте 24-часовой формат времени. Дата и время разделяются одним пробелом. Часовой пояс смещен относительно времени UTC. Обратите внимание, что это означает окончание захвата видео.
    • lat: (Необязательно) Широта местоположения на момент захвата файла.
    • lng: (Необязательно) Долгота местоположения на момент захвата файла.
    • ширина: Ширина изображения или каждого видеокадра.
    • высота: высота изображения или каждого видеокадра.
    • миниатюра: строка в кодировке Base64 для миниатюрного изображения файла (когда maxThumbSize != null ).
    • isProcessed: логическое значение, указывающее, обработан ли файл (например, сшит) или это только предварительный просмотр. По умолчанию это должно быть правдой, если для delayProcessing не установлено значение «истина». Если обработанное изображение существует, соответствующее изображение предварительного просмотра не должно быть указано, даже если оно существует, в противном случае укажите изображение предварительного просмотра.
    • PreviewUrl: по умолчанию используется пустая строка, если delayProcessing не поддерживается, или когда isProcessed равен false, или когда изображение предварительного просмотра никогда не было создано в качестве промежуточного результата, в противном случае это URL-адрес изображения предварительного просмотра, соответствующего окончательному изображению. Это используется для построения соответствия между изображением предварительного просмотра и конечным изображением.
  • TotalEntries: общее количество записей fileType в хранилище, например, если тип файла — «изображение», это общее количество изображений в хранилище.

Ошибки

  • MissingParameter: не указан ни один обязательный параметр; например, не указана entryCount .
  • validParameterName: имя входного параметра не распознано.
  • validParameterValue: имя входного параметра распознано, но его значение недопустимо; например, entryCount отрицательно или его тип данных неверен.

Командный ввод/вывод

Ввод команды
{
    "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."
    }
}