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."
   
}
}