camera.listFiles

همه تصاویر/همه ویدیوها/همه تصاویر و ویدیوهای موجود در دوربین را فهرست می کند. ممکن است چندین درخواست طول بکشد تا همه فایل‌ها فهرست شوند. این دستور در سطح 2 API اضافه شده است.

اگر دوربینی از پارامترهای درخواستی پشتیبانی نمی کند، دوربین باید حداکثر قابلیت موجود برای سخت افزار را برگرداند. برای مثال، یک مورد نادر ممکن است این درخواست باشد: {entryCount: 500, maxSize: 2000} . به جای ارسال خطا، پاسخ باید بر اساس حداکثر قابلیت پشتیبانی شده توسط دوربین باشد، مانند: {entryCount: 100, maxSize: 200} . لطفا برای همه موارد دیگر خطاها را مطرح کنید. برای مثال، وقتی درخواست {entryCount: 500, maxSize: -500} باشد، باید خطای invalidParameterValue ایجاد کند زیرا maxSize منفی است.

پارامترها

  • fileType: نوع فایل‌هایی که قرار است فهرست شوند، باید یکی از این سه مورد باشند: «تصویر»، «ویدئو»، «همه».
  • startPosition: (اختیاری) موقعیت اولین فایلی که باید در لیست برگردانده شود. در صورت حذف، موقعیت شروع 0 است که نشان دهنده اولین فایل است. اگر از موقعیت آخرین فایل بزرگتر است، به جای پاسخ خطا، یک پاسخ عادی با ورودی های خالی در نتایج را برگردانید.
  • enterCount: تعداد دلخواه ورودی برای بازگشت. اگر بیشتر از تعداد فایل‌های باقی‌مانده است، فقط به جای پاسخ خطا، یک پاسخ عادی با فایل‌های واقعی باقی‌مانده برگردانید.
  • maxThumbSize: حداکثر اندازه تصاویر کوچک. حداکثر (عرض_تصویر کوچک، ارتفاع_تصویر کوچک). زمانی که مشتری بخواهد تصاویر بند انگشتی را از نتیجه حذف کند، روی null تنظیم می شود.

نتایج

  • ورودی ها: فهرستی از ویژگی های تصویر. هر ورودی باید دارای فیلدهای زیر باشد به جز طول و عرض جغرافیایی که اختیاری هستند:
    • name: نام فایل.
    • fileUrl: URL مطلق فایل که می توان از آن برای دانلود مستقیم از دوربین استفاده کرد.
    • اندازه: اندازه فایل بر حسب بایت.
    • dateTimeZone: تاریخ، زمان، و منطقه زمانی فایل، در قالب: YYYY:MM:DD HH:MM:SS+(-)HH:MM . از قالب 24 ساعته برای زمان استفاده کنید. تاریخ و زمان با یک کاراکتر خالی از هم جدا می شوند. منطقه زمانی از زمان UTC جدا شده است. لطفاً توجه داشته باشید که این نشان دهنده پایان ضبط ویدیوها است.
    • lat: (اختیاری) عرض جغرافیایی مکان در زمان ضبط فایل.
    • lng: (اختیاری) طول جغرافیایی مکان در زمان ضبط فایل.
    • عرض: عرض تصویر یا هر فریم ویدیو.
    • ارتفاع: ارتفاع تصویر یا هر فریم ویدیو.
    • تصویر بندانگشتی: رشته کدگذاری شده Base64 برای تصویر کوچک فایل (وقتی maxThumbSize != null ).
    • isProcessed: یک مقدار بولی که نشان می دهد فایل پردازش شده است (مثلاً دوخته شده) یا فقط یک پیش نمایش است. این باید به طور پیش فرض درست باشد مگر اینکه delayProcessing روی true تنظیم شود. اگر تصویر پردازش شده وجود داشته باشد، تصویر پیش‌نمایش مربوطه حتی اگر وجود داشته باشد، نباید فهرست شود، در غیر این صورت، تصویر پیش‌نمایش را فهرست کنید.
    • previewUrl: اگر delayProcessing پشتیبانی نمی‌شود یا زمانی که isProcessed برابر با false باشد یا زمانی که تصویر پیش‌نمایش هرگز به عنوان یک نتیجه میانی تولید نشد، به‌طور پیش‌فرض رشته خالی می‌شود، در غیر این صورت، URL تصویر پیش‌نمایش مربوط به تصویر نهایی است. این برای ایجاد ارتباط بین تصویر پیش نمایش و تصویر نهایی استفاده می شود.
  • totalEntries: تعداد کل ورودی های fileType در ذخیره سازی، به عنوان مثال اگر fileType "تصویر" باشد، تعداد کل تصاویر موجود در ذخیره سازی است.

خطاها

  • missingParameter: هیچ پارامتر مورد نیاز مشخص نشده است. برای مثال، entryCount مشخص نشده است.
  • invalidParameterName: نام پارامتر ورودی شناسایی نشده است.
  • invalidParameterValue: نام پارامتر ورودی شناسایی می شود، اما مقدار آن نامعتبر است. برای مثال، 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."
    }
}