Camera.listFiles

แสดงรายการรูปภาพ/วิดีโอทั้งหมด/รูปภาพและวิดีโอทั้งหมดในกล้อง อาจต้องใช้เวลาหลายคำขอในการแสดงไฟล์ทั้งหมด มีการเพิ่มคำสั่งนี้ใน API ระดับ 2

หากกล้องไม่รองรับพารามิเตอร์ที่ขอ กล้องจะต้องแสดงความสามารถสูงสุดที่ฮาร์ดแวร์มี ตัวอย่างเช่น ในบางกรณีที่พบไม่บ่อยนักอาจเป็นคำขอ {entryCount: 500, maxSize: 2000} แทนที่จะแสดงข้อผิดพลาด การตอบสนองควรขึ้นอยู่กับความสามารถสูงสุดที่กล้องรองรับ เช่น {entryCount: 100, maxSize: 200} โปรดแสดงข้อผิดพลาดสำหรับกรณีอื่นๆ ทั้งหมด เช่น เมื่อคำขอคือ {entryCount: 500, maxSize: -500} ควรแสดงข้อผิดพลาด invalidParameterValue เนื่องจาก maxSize เป็นค่าลบ

พารามิเตอร์

  • fileType: ประเภทไฟล์ที่จะแสดงควรเป็นอะไรก็ได้จาก 3 ประเภท ได้แก่ "image" "video" "all"
  • startPosition: (ไม่บังคับ) ตำแหน่งของไฟล์แรกที่จะแสดงในรายการ หากละไว้ ตำแหน่งเริ่มต้นจะเป็น 0 ซึ่งหมายถึงไฟล์แรก หากมีขนาดใหญ่กว่าตำแหน่งของไฟล์ล่าสุด ให้แสดงการตอบกลับปกติพร้อมรายการที่ว่างเปล่าในผลลัพธ์แทนการตอบกลับข้อผิดพลาด
  • entryCount: จำนวนรายการที่ต้องการแสดงผล หากเกินจำนวนไฟล์ที่เหลืออยู่ ก็เพียงส่งคืนการตอบกลับปกติพร้อมไฟล์จริงที่เหลืออยู่ แทนการตอบกลับข้อผิดพลาด
  • maxThumbSize: ขนาดสูงสุดของภาพขนาดย่อ max(thumbnail_width, ทางลัด_height) โดยจะตั้งค่าเป็น null เมื่อลูกค้าต้องการละเว้นภาพขนาดย่อจากผลลัพธ์

ผลลัพธ์

  • entries: รายการพร็อพเพอร์ตี้รูปภาพ แต่ละรายการควรมีช่องต่อไปนี้ ยกเว้นละติจูดและลองจิจูด (ไม่บังคับ)
    • name: ชื่อไฟล์
    • fileUrl: URL แบบเต็มของไฟล์ซึ่งใช้ดาวน์โหลดจากกล้องได้โดยตรง
    • size: ขนาดเป็นไบต์ของไฟล์
    • dateTimeZone: วันที่ เวลา และเขตเวลาของไฟล์ในรูปแบบดังนี้ YYYY:MM:DD HH:MM:SS+(-)HH:MM ใช้รูปแบบ 24 ชั่วโมงสำหรับเวลา วันที่และเวลา คั่นด้วยอักขระว่าง 1 ตัว เขตเวลาออฟเซ็ตจากเวลา UTC โปรดทราบว่านี่คือการสิ้นสุดการจับภาพวิดีโอ
    • lat: (ไม่บังคับ) ละติจูดของตำแหน่ง ณ เวลาที่เก็บไฟล์
    • lng: (ไม่บังคับ) ลองจิจูดของตำแหน่ง ณ เวลาที่เก็บไฟล์
    • width: ความกว้างของรูปภาพหรือเฟรมวิดีโอแต่ละเฟรม
    • height: ความสูงของรูปภาพหรือเฟรมวิดีโอแต่ละเฟรม
    • thumbnail: สตริงที่เข้ารหัส Base64 สำหรับภาพขนาดย่อของไฟล์ (เมื่อ maxThumbSize != null)
    • isProcessed: ค่าบูลีนที่ระบุว่าไฟล์มีการประมวลผล (เช่น Sitched) หรือเป็นเพียงการแสดงตัวอย่าง ซึ่งควรเป็นจริงโดยค่าเริ่มต้น เว้นแต่จะตั้งค่า delayProcessing เป็น "จริง" หากมีรูปภาพที่ประมวลผลแล้ว รูปภาพตัวอย่างที่เกี่ยวข้องก็ไม่ควรแสดงขึ้นแม้ว่าจะมีอยู่ มิเช่นนั้น ให้ระบุรูปภาพตัวอย่างด้วย
    • previewUrl: ตั้งค่าเริ่มต้นเป็นสตริงว่างเปล่าหากระบบไม่รองรับ delayProcessing หรือเมื่อ isProcessed เท่ากับ "เท็จ" หรือเมื่อไม่มีการสร้างรูปภาพตัวอย่างเป็นผลลัพธ์กลาง มิเช่นนั้น จะเป็น URL ของรูปภาพตัวอย่างที่เกี่ยวข้องกับรูปภาพสุดท้าย ซึ่งจะใช้เพื่อสร้างความสอดคล้องระหว่างรูปภาพตัวอย่างกับรูปภาพสุดท้าย
  • totalEntries: จำนวนรายการทั้งหมดของ fileType ใน พื้นที่เก็บข้อมูล เช่น ถ้า fileType เป็น "image" ก็จะแสดงคือจำนวนรูปภาพทั้งหมดในพื้นที่เก็บข้อมูล

ข้อผิดพลาด

  • missingParameters: ไม่มีการระบุพารามิเตอร์ที่จำเป็น เช่น ไม่ได้ระบุ entryCount
  • invalidparameterName: ระบบไม่รู้จักชื่อพารามิเตอร์ที่ป้อน
  • invalidParametersValue: ระบบรู้จักชื่อพารามิเตอร์อินพุต แต่ค่าของพารามิเตอร์ไม่ถูกต้อง เช่น entryCount เป็นค่าลบหรือประเภทข้อมูลไม่ถูกต้อง

คำสั่ง I/O

อินพุตคำสั่ง
{
    "parameters": {
        "entryCount": 50,
        "maxThumbSize": 100
    }
}
เอาต์พุตคำสั่ง
{
    "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
    }
}
เอาต์พุตคำสั่ง (ข้อผิดพลาด)
{
    "error": {
        "code": "invalidParameterValue",
        "message": "Parameter entryCount is negative."
    }
}