camera.listFiles

Mencantumkan semua gambar/semua video/semua gambar dan video dalam kamera. Mungkin diperlukan beberapa permintaan untuk mencantumkan semua file. Perintah ini ditambahkan di API level 2.

Jika kamera tidak mendukung parameter yang diminta, kamera harus menampilkan kemampuan maksimum yang tersedia untuk hardware. Misalnya, permintaan yang jarang terjadi mungkin adalah permintaan: {entryCount: 500, maxSize: 2000}. Daripada menampilkan error, respons harus didasarkan pada kemampuan maksimum yang didukung oleh kamera, seperti: {entryCount: 100, maxSize: 200}. Tampilkan error untuk semua kasus lainnya; misalnya, jika permintaan adalah {entryCount: 500, maxSize: -500}, error invalidParameterValue akan ditampilkan karena maxSize bernilai negatif.

Parameter

  • fileType: Jenis file yang akan dicantumkan harus salah satu dari ketiganya: “image”, ”video”, ”all”.
  • startPosition: (Opsional) Posisi file pertama yang akan ditampilkan dalam daftar. Jika dihilangkan, posisi awal adalah 0, yang mewakili file pertama. Jika lebih besar dari posisi file terakhir, tampilkan respons normal dengan entri kosong dalam hasil, bukan respons error.
  • entryCount: Jumlah entri yang diinginkan untuk ditampilkan. Jika lebih dari jumlah file yang tersisa, cukup tampilkan respons normal dengan file sebenarnya yang tersisa, bukan respons error.
  • maxThumbSize: Ukuran maksimum gambar thumbnail; max(thumbnail_width, thumbnail_height). Ini disetel ke null saat klien ingin menghapus gambar thumbnail dari hasil.

Hasil

  • entri: Daftar properti gambar. Setiap entri harus berisi kolom berikut, kecuali lintang dan bujur, yang bersifat opsional:
    • name: Nama file.
    • fileUrl: URL absolut file, yang dapat digunakan untuk mendownload dari kamera secara langsung.
    • size: Ukuran dalam byte file.
    • dateTimeZone: Tanggal, waktu, dan zona waktu untuk file, dalam format: YYYY:MM:DD HH:MM:SS+(-)HH:MM. Gunakan format 24 jam untuk menampilkan waktu. Tanggal dan waktu dipisahkan oleh satu karakter kosong. Zona waktu berbeda dari waktu UTC. Perlu diperhatikan bahwa ini menunjukkan berakhirnya pengambilan gambar untuk video.
    • lat: (Opsional) Lintang lokasi pada saat pengambilan file.
    • lng: (Opsional) Bujur lokasi pada saat pengambilan file.
    • width: Lebar gambar atau setiap frame video.
    • height: Tinggi gambar atau setiap frame video.
    • thumbnail: String berenkode base64 untuk gambar thumbnail file (saat maxThumbSize != null).
    • isProcessed: Nilai boolean yang menunjukkan apakah file diproses (misalnya digabungkan) atau hanya berupa pratinjau. Nilai ini harus bernilai benar secara default, kecuali jika delayProcessing ditetapkan ke benar (true). Jika sudah ada gambar yang diproses, gambar pratinjau terkait tidak akan dicantumkan meskipun ada. Jika tidak, cantumkan gambar pratinjau.
    • previewUrl: Default ke string kosong jika delayProcessing tidak didukung atau jika isProcessed sama dengan salah (false) atau jika gambar pratinjau tidak pernah dibuat sebagai hasil perantara. Jika tidak, URL gambar pratinjau yang sesuai dengan gambar akhir akan menjadi URL kosong. Atribut ini digunakan untuk membuat keselarasan antara gambar pratinjau dan gambar akhir.
  • totalEntries: Jumlah total entri fileType di penyimpanan, misalnya, jika fileType adalah "image", ini adalah jumlah total gambar di penyimpanan.

Error

  • missingParameter: Parameter apa pun yang diperlukan tidak ditentukan; misalnya, entryCount tidak ditentukan.
  • invalidParameterName: Nama parameter input tidak dikenali.
  • invalidParameterValue: Nama parameter input dikenali, tetapi nilainya tidak valid; misalnya, entryCount negatif atau jenis datanya salah.

Perintah I/O

Input Perintah
{
    "parameters": {
        "entryCount": 50,
        "maxThumbSize": 100
    }
}
Output Perintah
{
    "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
    }
}
Output Perintah (Error)
{
    "error": {
        "code": "invalidParameterValue",
        "message": "Parameter entryCount is negative."
    }
}