camera.listFiles

ক্যামেরায় সমস্ত ছবি/সমস্ত ভিডিও/সমস্ত ছবি এবং ভিডিও তালিকাভুক্ত করে। সমস্ত ফাইল তালিকাভুক্ত করতে বেশ কিছু অনুরোধ লাগতে পারে। এই কমান্ডটি API স্তর 2 এ যোগ করা হয়েছে।

যদি একটি ক্যামেরা অনুরোধ করা পরামিতিগুলিকে সমর্থন না করে, তাহলে ক্যামেরাটিকে হার্ডওয়্যারের জন্য উপলব্ধ সর্বোচ্চ ক্ষমতা ফিরিয়ে দিতে হবে। উদাহরণস্বরূপ, একটি বিরল ক্ষেত্রে অনুরোধ হতে পারে: {entryCount: 500, maxSize: 2000} । একটি ত্রুটি নিক্ষেপ করার পরিবর্তে, প্রতিক্রিয়াটি ক্যামেরা দ্বারা সমর্থিত সর্বাধিক ক্ষমতার উপর ভিত্তি করে হওয়া উচিত, যেমন: {entryCount: 100, maxSize: 200} । অন্য সব ক্ষেত্রে ত্রুটি নিক্ষেপ করুন; উদাহরণস্বরূপ, যখন অনুরোধটি হয়, {entryCount: 500, maxSize: -500} , তখন এটি ত্রুটিটি invalidParameterValue ফেলতে হবে যেহেতু maxSize নেতিবাচক।

পরামিতি

  • ফাইলের ধরন: তালিকাভুক্ত করা ফাইলগুলির ধরন, তিনটির যে কোনো একটি হওয়া উচিত: "ছবি", "ভিডিও", "সমস্ত"।
  • startPosition: (ঐচ্ছিক) তালিকায় প্রথম ফাইলের অবস্থান। যদি বাদ দেওয়া হয়, শুরুর অবস্থান হল 0, যা প্রথম ফাইলের প্রতিনিধিত্ব করে। যদি এটি শেষ ফাইলের অবস্থানের চেয়ে বড় হয়, তাহলে একটি ত্রুটি প্রতিক্রিয়ার পরিবর্তে ফলাফলে খালি এন্ট্রি সহ একটি স্বাভাবিক প্রতিক্রিয়া ফেরত দিন।
  • entryCount: প্রত্যাবর্তনের জন্য পছন্দসই সংখ্যা। যদি এটি অবশিষ্ট ফাইলের সংখ্যার চেয়ে বেশি হয়, তবে ত্রুটির প্রতিক্রিয়ার পরিবর্তে প্রকৃত ফাইলগুলি রেখে একটি স্বাভাবিক প্রতিক্রিয়া ফেরত দিন।
  • maxThumbSize: থাম্বনেইল ছবির সর্বাধিক আকার; সর্বোচ্চ (থাম্বনেল_প্রস্থ, থাম্বনেইল_উচ্চতা)। ক্লায়েন্ট যখন ফলাফল থেকে থাম্বনেইল ছবি বাদ দিতে চায় তখন এটি null সেট করা হয়।

ফলাফল

  • এন্ট্রি: ছবির বৈশিষ্ট্যের একটি তালিকা। প্রতিটি এন্ট্রিতে অক্ষাংশ এবং দ্রাঘিমাংশ ছাড়া নিম্নলিখিত ক্ষেত্রগুলি থাকা উচিত, যা ঐচ্ছিক:
    • নাম: ফাইলের নাম।
    • fileUrl: ফাইলের সম্পূর্ণ URL, যা সরাসরি ক্যামেরা থেকে ডাউনলোড করতে ব্যবহার করা যেতে পারে।
    • আকার: ফাইলের বাইটে আকার।
    • dateTimeZone: ফাইলের জন্য তারিখ, সময় এবং সময় অঞ্চল, বিন্যাসে: YYYY:MM:DD HH:MM:SS+(-)HH:MM । সময়ের জন্য 24-ঘন্টা বিন্যাস ব্যবহার করুন। তারিখ এবং সময় একটি ফাঁকা অক্ষর দ্বারা পৃথক করা হয়. সময় অঞ্চল UTC সময় থেকে অফসেট করা হয়। দয়া করে মনে রাখবেন এটি ভিডিওর জন্য ক্যাপচারের সমাপ্তির প্রতিনিধিত্ব করে।
    • lat: (ঐচ্ছিক) ফাইল ক্যাপচারের সময় অবস্থানের অক্ষাংশ।
    • lng: (ঐচ্ছিক) ফাইল ক্যাপচারের সময় অবস্থানের দ্রাঘিমাংশ।
    • প্রস্থ: চিত্রের প্রস্থ বা প্রতিটি ভিডিও ফ্রেম।
    • উচ্চতা: ছবির উচ্চতা বা প্রতিটি ভিডিও ফ্রেম।
    • থাম্বনেইল: ফাইলের থাম্বনেইল চিত্রের জন্য বেস64 এনকোড করা স্ট্রিং (যখন maxThumbSize != null )।
    • isProcessed: একটি বুলিয়ান মান নির্দেশ করে যে ফাইলটি প্রক্রিয়া করা হয়েছে কিনা (যেমন সেলাই করা) অথবা এটি শুধুমাত্র একটি পূর্বরূপ। এটি ডিফল্টরূপে সত্য হওয়া উচিত যদি না delayProcessing সত্য হিসাবে সেট করা হয়। যদি একটি প্রক্রিয়াকৃত চিত্র বিদ্যমান থাকে, তাহলে সংশ্লিষ্ট প্রিভিউ ইমেজটি বিদ্যমান থাকলেও তা তালিকাভুক্ত করা উচিত নয়, অন্যথায়, পূর্বরূপ চিত্রটি তালিকাভুক্ত করুন।
    • previewUrl: ডিফল্ট খালি স্ট্রিং যদি delayProcessing সমর্থিত না হয় বা যখন isProcessed সমান মিথ্যা হয় বা যখন প্রিভিউ ইমেজ কখনও মধ্যবর্তী ফলাফল হিসাবে তৈরি করা হয়নি, অন্যথায়, এটি চূড়ান্ত চিত্রের সাথে সম্পর্কিত পূর্বরূপ চিত্রের URL। এটি পূর্বরূপ চিত্র এবং চূড়ান্ত চিত্রের মধ্যে চিঠিপত্র তৈরি করতে ব্যবহৃত হয়।
  • totalEntry: সঞ্চয়স্থানে 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."
    }
}