aparat.listPliki

Wyświetla listę wszystkich zdjęć/filmów/wszystkich zdjęć i filmów w kamerze. Wyświetlenie listy wszystkich plików może wymagać kilku próśb. To polecenie zostało dodane w interfejsie API na poziomie 2.

Jeśli kamera nie obsługuje żądanych parametrów, musi zwrócić maksymalną wydajność dostępną dla sprzętu. Rzadki przypadek to: {entryCount: 500, maxSize: 2000}. Zamiast zgłaszać błąd, odpowiedź powinna opierać się na maksymalnych możliwościach kamery, np. {entryCount: 100, maxSize: 200}. We wszystkich innych przypadkach zgłaszaj błędy. Jeśli na przykład żądanie ma postać {entryCount: 500, maxSize: -500}, powinno zwrócić błąd invalidParameterValue, ponieważ maxSize ma wartość ujemną.

Parametry

  • fileType: typ plików do wyświetlenia na liście; powinien być to jeden z trzech typów plików: „image”, „video” lub „all”.
  • startPosition: (opcjonalnie) pozycja pierwszego pliku, który ma zostać zwrócony na liście. Jeśli ten argument zostanie pominięty, pozycja początkowa ma wartość 0, co oznacza pierwszy plik. Jeśli jest większa niż pozycja ostatniego pliku, zamiast odpowiedzi o błędzie zwróć normalną odpowiedź z pustymi wpisami w wynikach.
  • entryCount:żądana liczba pozycji do zwrócenia; Jeśli jest ona większa niż liczba pozostałych plików, zamiast odpowiedzi o błędzie zwróć normalną odpowiedź z rzeczywistymi liczbami plików.
  • maxThumbSize: maksymalny rozmiar obrazów miniatur; max(thumbnail_width, miniatur_height). Wartość null wskazuje, że klient chce pominąć miniatury w wyniku.

Wyniki

  • entries: lista właściwości obrazu. Każda pozycja powinna zawierać następujące pola z wyjątkiem szerokości i długości geograficznej, które są opcjonalne:
    • name: nazwa pliku.
    • fileUrl: bezwzględny adres URL pliku potrzebny do pobrania pliku bezpośrednio z aparatu.
    • size: rozmiar pliku w bajtach.
    • dateTimeZone: data, godzina i strefa czasowa pliku w formacie: YYYY:MM:DD HH:MM:SS+(-)HH:MM. Użyj formatu 24-godzinnego. Data i godzina są oddzielone jednym pustym znakiem. Strefa czasowa jest przesunięta w stosunku do czasu UTC. Oznacza to zakończenie nagrywania filmu.
    • lat: (opcjonalnie) szerokość geograficzna lokalizacji w momencie przechwytywania pliku.
    • lng: (opcjonalnie) długość geograficzna lokalizacji w momencie przechwytywania pliku.
    • width: szerokość obrazu lub każdej klatki wideo.
    • height: wysokość obrazu lub każdej klatki wideo.
    • thumbnail:ciąg zakodowany w standardzie Base64 jako obraz miniatury pliku (gdy maxThumbSize != null).
    • isPrzetworzono: wartość logiczna wskazująca, czy plik został przetworzony (np. złączony), czy jest to tylko podgląd. Domyślnie powinno to być prawdą, chyba że delayProcessing ma wartość Prawda. Jeśli taki obraz istnieje, odpowiedni obraz podglądu nie powinien być widoczny na liście, nawet jeśli taki istnieje. W przeciwnym razie wyświetl obraz podglądu.
    • previewUrl: jeśli parametr delayProcessing nie jest obsługiwany lub gdy parametr isProcessed ma wartość false (fałsz) albo gdy obraz podglądu nie został wygenerowany jako wynik pośredni, domyślnie jest to pusty ciąg znaków. W przeciwnym razie jest to adres URL obrazu podglądu odpowiadającego ostatecznemu obrazowi. Służy on do budowania zależności między obrazem podglądu a obrazem końcowym.
  • totalEntries: łączna liczba wpisów o wartości fileType w pamięci, np. jeśli fileType ma wartość „image”, jest to łączna liczba obrazów w pamięci.

Błędy

  • missingParameter:nie określono żadnego wymaganego parametru, np. entryCount.
  • ErrorParameterName: nie udało się rozpoznać nazwy parametru wejściowego.
  • ErrorParameterValue: rozpoznawana jest nazwa parametru wejściowego, ale jego wartość jest nieprawidłowa, np. entryCount jest ujemna lub ma nieprawidłowy typ danych.

Command I/O

Polecenie
{
    "parameters": {
        "entryCount": 50,
        "maxThumbSize": 100
    }
}
Dane wyjściowe polecenia
{
    "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
    }
}
Dane wyjściowe polecenia (błąd)
{
    "error": {
        "code": "invalidParameterValue",
        "message": "Parameter entryCount is negative."
    }
}