Files.list

يسرد جميع الصور/كل الفيديوهات/كل الصور والفيديوهات في الكاميرا. قد يستغرق الأمر عدة طلبات لسرد جميع الملفات. تمّت إضافة هذا الأمر في المستوى 2 من واجهة برمجة التطبيقات.

إذا كانت الكاميرا لا تدعم المعلمات المطلوبة، يجب أن تعرض الكاميرا الحد الأقصى للإمكانات المتاحة للأجهزة. على سبيل المثال، قد تكون هناك حالة نادرة هي الطلب: {entryCount: 500, maxSize: 2000}. بدلاً من عرض رسالة خطأ، يجب أن تستند الاستجابة إلى الحدّ الأقصى للإمكانية التي توفّرها الكاميرا، مثل {entryCount: 100, maxSize: 200}. يُرجى طرح الأخطاء لجميع الحالات الأخرى، فعلى سبيل المثال، عندما يكون الطلب {entryCount: 500, maxSize: -500}، يجب أن يعرض الخطأ invalidParameterValue لأن maxSize قيمة سالبة.

المَعلمات

  • fileType: نوع الملفات المطلوب إدراجها، ويجب أن يكون أي من الملفات الثلاثة: "image" و"video" و"all".
  • startPosition: (اختيارية) موضع الملف الأول المطلوب عرضه في القائمة. في حالة الحذف، يكون موضع البدء هو 0، والذي يمثل الملف الأول. وإذا كان أكبر من موضع الملف الأخير، اعرض استجابة عادية مع إدخالات فارغة في النتائج بدلاً من استجابة الخطأ.
  • entryCount: هو العدد المطلوب من الإدخالات. إذا كان هذا العدد أكبر من عدد الملفات المتبقية، ما عليك سوى عرض استجابة عادية بالملفات الفعلية المتبقية بدلاً من استجابة الخطأ.
  • maxThumbSize: الحد الأقصى لحجم الصور المصغّرة، وmax(chromium_width, min_height). ويتم ضبطها على null عندما يريد العميل حذف الصور المصغّرة من النتيجة.

النتائج

  • الإدخالات: قائمة بخصائص الصور يجب أن يحتوي كل إدخال على الحقول التالية باستثناء خطوط الطول والعرض الاختيارية:
    • name: اسم الملف.
    • fileUrl: عنوان URL كامل للملف، والذي يمكن استخدامه لتنزيله من الكاميرا مباشرةً.
    • size: الحجم بالبايت من الملف.
    • dateTimeZone: التاريخ والوقت والمنطقة الزمنية للملف بالتنسيق: YYYY:MM:DD HH:MM:SS+(-)HH:MM. استخدم تنسيق 24 ساعة للوقت. التاريخ والوقت مفصولان بحرف واحد فارغ. تتم معادلة المنطقة الزمنية من التوقيت العالمي المنسَّق. يُرجى العِلم أنّ هذا الجزء يمثّل نهاية التقاط الفيديوهات.
    • lat: (اختياري) خط العرض للموقع وقت التقاط الملف.
    • lng: (اختياري) خط الطول للموقع الجغرافي في وقت التقاط الملف.
    • width: عرض الصورة أو كل إطار فيديو.
    • height: ارتفاع الصورة أو كل إطار فيديو.
    • الصورة المصغّرة: سلسلة Base64 مشفّرة للصورة المصغّرة للملف (عندما تكون maxThumbSize != null).
    • isProcessed: قيمة منطقية تشير إلى ما إذا تمت معالجة الملف (أي تم تركيبه مثلاً) أو ما إذا كان مجرد معاينة ويجب أن يكون هذا صحيحًا تلقائيًا ما لم يتم ضبط delayProcessing على "صحيح". في حالة وجود صورة تمت معالجتها، يجب عدم إدراج صورة المعاينة المقابلة حتى إن كانت موجودة، وإلا عليك إدراج صورة المعاينة.
    • previewUrl: يتم ضبط القيمة التلقائية على سلسلة فارغة إذا لم يكن الحقل "delayProcessing" متاحًا أو عندما تكون قيمة isProcessed تساوي "خطأ" أو عندما لا يتم إنشاء صورة المعاينة كنتيجة وسيطة مطلقًا، وإلا يصبح عنوان URL لصورة المعاينة المقابلة للصورة النهائية. يستخدم هذا لبناء الارتباط بين صورة المعاينة والصورة النهائية.
  • totalEntries: إجمالي عدد إدخالات fileType في مساحة التخزين، على سبيل المثال إذا كان fileType هو "image"، هو إجمالي عدد الصور في مساحة التخزين.

الأخطاء

  • missingParameter: لم يتم تحديد أي معلمة مطلوبة. على سبيل المثال، لم يتم تحديد entryCount.
  • unusedParameterName: لم يتم التعرّف على اسم معلَمة الإدخال.
  • unusedParameterValue: يتم التعرّف على اسم معلَمة الإدخال، لكن قيمته غير صالحة. على سبيل المثال، تكون قيمة entryCount سالبة أو أن نوع بياناتها غير صحيح.

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