camera.listFiles

Lista todas as imagens/todos os vídeos/todos os vídeos e imagens da câmera. Pode levar várias solicitações para listar todos os arquivos. Esse comando foi adicionado no nível 2 da API.

Se uma câmera não oferecer suporte aos parâmetros solicitados, ela precisará retornar o à capacidade máxima disponível para o hardware. Por exemplo, um caso raro pode ser a solicitação: {entryCount: 500, maxSize: 2000}. Em vez de gerar um erro, a resposta deve ser baseada na capacidade máxima suportada pela câmera, como: {entryCount: 100, maxSize: 200}. Gere erros para todos os outros casos de uso diferentes. Por exemplo, quando a solicitação é {entryCount: 500, maxSize: -500}, ela deve gerar o erro invalidParameterValue, já que maxSize é negativo.

Parâmetros

  • fileType:o tipo dos arquivos a serem listados (precisa ser qualquer um de) os três: “imagem”, “vídeo”, “todos”.
  • startPosition: (opcional) a posição do primeiro arquivo a será retornado na lista. Se omitida, a posição inicial será 0, o que representa do primeiro arquivo. Se for maior do que a posição do último arquivo, retorna um uma resposta normal com entradas vazias nos resultados, em vez de uma resposta de erro.
  • entryCount::o número desejado de entradas a serem retornadas. Se for mais que o número de arquivos restantes, basta retornar uma resposta normal com os arquivos reais restantes em vez de uma resposta de erro.
  • maxThumbSize::tamanho máximo de imagens em miniatura. max(miniatura_largura, miniatura_altura). Ele é definido como null quando o cliente deseja omitir imagens em miniatura do resultado.

Resultados

  • entradas:uma lista de propriedades de imagem. Cada entrada deve conter os seguintes campos com exceção da latitude e da longitude, que são opcionais:
    • name:nome do arquivo.
    • fileUrl::URL absoluto do arquivo, que pode ser usado para fazer o download diretamente a partir da câmera.
    • size:tamanho em bytes do arquivo.
    • dateTimeZone:data, hora e fuso horário do arquivo, no formato: YYYY:MM:DD HH:MM:SS+(-)HH:MM Use o formato de 24 horas para a hora. Data e os valores são separados por um caractere em branco. O fuso horário é diferente do UTC. Observe que representa o final da captura dos vídeos.
    • lat: (opcional) latitude do local no momento da captura do arquivo.
    • lng: (opcional) a longitude do local no momento da captura do arquivo.
    • width:largura da imagem ou de cada frame do vídeo.
    • height:é a altura da imagem ou de cada frame do vídeo.
    • miniatura:string codificada em Base64 para a imagem em miniatura do arquivo (quando maxThumbSize != null).
    • isProcessed: um valor booleano que indica se o arquivo está processado (por exemplo, costurado) ou é apenas uma visualização. Isso deve ser verdade padrão, a menos que delayProcessing seja definido como verdadeiro. Se houver uma imagem processada, a imagem de visualização correspondente não deve ser listada, mesmo que exista, Caso contrário, liste a imagem de visualização.
    • previewUrl::o padrão será uma string vazia se delayProcessing não é compatível ou quando isProcessed é igual a "false" ou quando a imagem de visualização nunca foi gerado como um resultado intermediário. Caso contrário, é o URL de a imagem de visualização correspondente à imagem final. Isso é usado para criar a correspondência entre a imagem de visualização e a imagem final.
  • totalEntries: número total de entradas de fileType in armazenamento, por exemplo, se fileType for "image", é o número total de imagens no armazenamento.

Erros

  • missingParameter: qualquer parâmetro obrigatório não foi especificado. por exemplo, entryCount não é especificado.
  • invalidParameterName:o nome do parâmetro de entrada é não reconhecidos.
  • invalidParameterValue: o nome do parâmetro de entrada é reconhecido, mas seu valor é inválido. por exemplo, entryCount é negativo ou o tipo dos dados está incorreto.

E/S de comando

Entrada de comando
{
    "parameters": {
        "entryCount": 50,
        "maxThumbSize": 100
    }
}
Resposta ao comando
{
    "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
    }
}
Resposta ao comando (erro)
{
    "error": {
        "code": "invalidParameterValue",
        "message": "Parameter entryCount is negative."
    }
}