camera.listFiles

Lista todas as imagens/todos os vídeos/todas as imagens e vídeos da câmera. Podem ser necessárias 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 recurso máximo 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 precisa ser baseada no recurso máximo com suporte da câmera, como {entryCount: 100, maxSize: 200}. Gere erros para todos os outros casos. Por exemplo, quando a solicitação é {entryCount: 500, maxSize: -500}, ela deve gerar o erro invalidParameterValue, já que maxSize é negativo.

Parâmetros

  • fileType:tipo dos arquivos a serem listados. Precisa ser um dos três: "image", "video", "all".
  • startPosition (opcional): a posição do primeiro arquivo a ser retornado na lista. Se omitido, a posição inicial é 0, que representa o primeiro arquivo. Se for maior que a posição do último arquivo, retorne 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 maior do 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 (em inglês): tamanho máximo das imagens em miniatura. max(thumbnail_width, thumbnail_height). Ele é definido como null quando o cliente quer omitir imagens em miniatura do resultado.

Resultados

  • entradas:uma lista de propriedades de imagem. Cada entrada precisa conter os seguintes campos, exceto latitude e longitude, que são opcionais:
    • name:nome do arquivo.
    • fileUrl:o URL absoluto do arquivo, que pode ser usado para fazer o download diretamente 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 o horário. A data e a hora são separadas por um caractere em branco. O fuso horário é diferente do horário UTC. Observe que isso representa o final da captura para vídeos.
    • lat:: (opcional) latitude do local no momento da captura do arquivo.
    • lng:: (opcional) longitude do local no momento da captura do arquivo.
    • width:largura da imagem ou de cada frame de vídeo.
    • height:altura da imagem ou de cada frame de vídeo.
    • thumbnail: string codificada em Base64 para a imagem em miniatura do arquivo (quando maxThumbSize != null).
    • isProcessed:um valor booleano que indica se o arquivo foi processado (por exemplo, integrado) ou se é apenas uma visualização. Isso precisa ser verdadeiro por padrão, a menos que delayProcessing esteja definido como verdadeiro. Se houver uma imagem processada, a imagem de visualização correspondente não vai 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 for compatível, quando isProcessed for igual a "false" ou quando a imagem de visualização nunca tiver sido gerada como um resultado intermediário. Caso contrário, será o URL da imagem de visualização correspondente à imagem final. Ele é usado para criar a correspondência entre a imagem de visualização e a imagem final.
  • totalEntries:número total de entradas de fileType no armazenamento, por exemplo, se fileType for "image", ele será o número total de imagens no armazenamento.

Erros

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

E/S do 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."
    }
}