camera.listFiles

Mencantumkan semua gambar/semua video/semua gambar dan video di 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 perangkat keras. Misalnya, kasus yang jarang terjadi mungkin permintaan: {entryCount: 500, maxSize: 2000}. Alih-alih menampilkan pesan {i>error<i}, respons harus didasarkan pada kemampuan maksimum yang didukung oleh kamera, misalnya: {entryCount: 100, maxSize: 200}. Tampilkan kesalahan untuk semua lainnya kasus; misalnya, jika permintaan adalah {entryCount: 500, maxSize: -500}, harus menampilkan error invalidParameterValue karena maxSize negatif.

Parameter

  • fileType: Jenis file yang akan dicantumkan, harus berupa salah satu ketiganya: “gambar”, “video”, “semua”.
  • startPosition: (Opsional) Posisi file pertama yang akan yang ditampilkan dalam daftar. Jika dihilangkan, posisi awal adalah 0, yang mewakili file pertama. Jika lebih besar dari posisi file terakhir, kembalikan respons normal dengan entri kosong dalam hasil, bukan respons error.
  • entryCount: Jumlah entri yang diinginkan untuk ditampilkan. Jika ya lebih dari jumlah file yang tersisa, cukup kembalikan respons normal dengan file sebenarnya yang tersisa alih-alih respons kesalahan.
  • maxThumbSize: Ukuran maksimum gambar thumbnail; max(thumbnail_width, thumbnail_height). Parameter ini disetel ke null jika klien ingin menghilangkan gambar thumbnail dari hasil.

Hasil

  • entri: Daftar properti gambar. Setiap entri harus berisi kolom berikut kecuali untuk 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 waktu. Tanggal dan waktu (time) dipisahkan dengan satu karakter kosong. Zona waktu berbeda dari waktu UTC. Harap perhatikan menunjukkan akhir dari pengambilan 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 yang dienkode Base64 untuk gambar thumbnail file (saat maxThumbSize != null).
    • isProcessed: Nilai boolean yang menunjukkan apakah file diproses diproses (mis. digabungkan) atau hanya pratinjau. Ini seharusnya benar dengan default kecuali delayProcessing ditetapkan ke true. Jika ada gambar yang diproses, gambar pratinjau yang terkait seharusnya tidak dicantumkan sekalipun 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, ini adalah URL gambar pratinjau yang sesuai dengan gambar akhir. Ini digunakan untuk membangun keterkaitan antara gambar pratinjau dan gambar akhir.
  • totalEntries: Jumlah total entri fileType dalam penyimpanan, mis. jika fileType adalah "image", ini adalah jumlah total gambar di Storage.

Error

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

I/O Perintah

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