ফাইল মেটাডেটা পরিচালনা করুন

এই ডকুমেন্টে ফাইলের নামকরণ এবং ইনডেক্সযোগ্য টেক্সট ও থাম্বনেইলের মতো মেটাডেটা নিয়ে কাজ করার জন্য গুরুত্বপূর্ণ বিষয়গুলো আলোচনা করা হয়েছে। ফাইল সন্নিবেশ ও পুনরুদ্ধার করতে, files রিসোর্সটি দেখুন।

মেটাডেটার সংক্ষিপ্ত বিবরণ

গুগল ড্রাইভ এপিআই-তে, files রিসোর্সটি মেটাডেটাকে প্রতিনিধিত্ব করে। যেসব এপিআই-তে মেটাডেটা একটি সাব-অবজেক্ট, তার থেকে ভিন্নভাবে, ড্রাইভ এপিআই সম্পূর্ণ files রিসোর্সটিকেই মেটাডেটা হিসেবে গণ্য করে। আপনি files রিসোর্সের গেট get ) বা list ) মেথড ব্যবহার করে সরাসরি মেটাডেটা অ্যাক্সেস করতে পারেন।

ডিফল্টরূপে, get এবং list মেথডগুলো শুধুমাত্র ফিল্ডের একটি আংশিক সেট রিটার্ন করে। নির্দিষ্ট ডেটা পুনরুদ্ধার করতে, আপনাকে আপনার অনুরোধে fields সিস্টেম প্যারামিটারটি সংজ্ঞায়িত করতে হবে। এটি বাদ দিলে, সার্ভার মেথডটির জন্য নির্দিষ্ট ফিল্ডের একটি ডিফল্ট উপসেট রিটার্ন করে। উদাহরণস্বরূপ, list মেথডটি প্রতিটি ফাইলের জন্য শুধুমাত্র kind , id , name , mimeType , এবং resourceKey ফিল্ডগুলো রিটার্ন করে। ভিন্ন ফিল্ড রিটার্ন করতে, "নির্দিষ্ট ফিল্ড রিটার্ন করুন" দেখুন।

এছাড়াও, মেটাডেটার দৃশ্যমানতা ফাইলের উপর ব্যবহারকারীর ভূমিকার উপর নির্ভর করে। permissions রিসোর্স কোনো ফাইল বা ফোল্ডারে ব্যবহারকারীর অনুমোদিত কার্যকলাপ নির্ধারণ করে না। পরিবর্তে, files রিসোর্সে বুলিয়ান capabilities ফিল্ডের একটি সংগ্রহ থাকে। গুগল ড্রাইভ এপিআই ফাইল বা ফোল্ডারের সাথে যুক্ত permissions রিসোর্স থেকে এই capabilities গ্রহণ করে। আরও তথ্যের জন্য, ফাইল ক্যাপাবিলিটিজ বুঝুন দেখুন।

ড্রাইভ এপিআই দুটি সীমাবদ্ধ মেটাডেটা স্কোপ প্রদান করে: drive.metadata এবং drive.metadata.readonlydrive.metadata স্কোপটি আপনাকে ফাইলের মেটাডেটা দেখতে ও পরিচালনা করতে দেয়, অন্যদিকে drive.metadata.readonly শুধুমাত্র পঠনযোগ্য (read-only)। উভয়ই ফাইলের বিষয়বস্তুতে প্রবেশ কঠোরভাবে নিষিদ্ধ করে। আরও তথ্যের জন্য, “গুগল ড্রাইভ এপিআই স্কোপ নির্বাচন করুন” দেখুন।

সবশেষে, পারমিশন এবং স্কোপ সংক্রান্ত আপনার লজিক সবসময় যাচাই করে নিন। উদাহরণস্বরূপ, একজন ব্যবহারকারীর একটি ফাইলের সম্পূর্ণ পারমিশন থাকতে পারে, কিন্তু আপনার অ্যাপের স্কোপ যদি শুধু drive.metadata.readonly হয়, তাহলে Drive API ফাইলটি পরিবর্তন বা ডাউনলোড করার প্রচেষ্টা ব্লক করে দেবে।

ফাইলের নাম এবং এক্সটেনশন নির্দিষ্ট করুন

গুগল ড্রাইভ এপিআই ব্যবহার করে ফাইল যুক্ত করার সময় অ্যাপগুলোকে তাদের মেটাডেটাতে ( name : "cat.jpg") ফাইল এক্সটেনশন উল্লেখ করতে হবে। উদাহরণস্বরূপ, একটি JPEG ফাইল যুক্ত করার ক্ষেত্রে মেটাডেটাতে "name": "cat.jpg" এর মতো কিছু উল্লেখ করতে হবে।

পরবর্তী GET রেসপন্সগুলোতে fileExtension নামক একটি রিড-অনলি প্রপার্টি অন্তর্ভুক্ত থাকতে পারে, যেখানে name প্রপার্টিতে প্রাথমিকভাবে নির্দিষ্ট করা এক্সটেনশনটি যুক্ত থাকে। যখন কোনো গুগল ড্রাইভ ব্যবহারকারী একটি ফাইল ডাউনলোড করার অনুরোধ করেন, অথবা যখন সিঙ্ক ক্লায়েন্টের মাধ্যমে ফাইলটি ডাউনলোড করা হয়, তখন ড্রাইভ `name`-এর উপর ভিত্তি করে একটি সম্পূর্ণ ফাইলের নাম (এক্সটেনশন সহ) তৈরি করে। যেসব ক্ষেত্রে এক্সটেনশনটি অনুপস্থিত থাকে, ড্রাইভ ফাইলটির MIME টাইপের উপর ভিত্তি করে এক্সটেনশনটি নির্ধারণ করার চেষ্টা করে।

সূচীকরণযোগ্য পাঠ্য সংরক্ষণ করুন

ড্রাইভ ফাইলের ধরন শনাক্ত করতে পারলেই অনুসন্ধানের জন্য ডকুমেন্টগুলোকে স্বয়ংক্রিয়ভাবে ইন্ডেক্স করে, যার মধ্যে টেক্সট ডকুমেন্ট, পিডিএফ, টেক্সটসহ ছবি এবং অন্যান্য সাধারণ ধরনের ফাইল অন্তর্ভুক্ত। যদি আপনার অ্যাপ অন্য ধরনের ফাইল (যেমন ড্রয়িং, ভিডিও এবং শর্টকাট) সংরক্ষণ করে, তবে ফাইলের contentHints.indexableText ফিল্ডে ইন্ডেক্সযোগ্য টেক্সট সরবরাহ করে আপনি সেগুলোর খুঁজে পাওয়ার সম্ভাবনা উন্নত করতে পারেন।

ইনডেক্সযোগ্য টেক্সট HTML হিসেবে ইনডেক্স করা হয়। আপনি যদি <section attribute="value1">Here's some text</section> এই ইনডেক্সযোগ্য টেক্সট স্ট্রিংটি সেভ করেন, তাহলে "Here's some text" ইনডেক্সড হবে, কিন্তু "value1" হবে না। এই কারণে, XML-কে ইনডেক্সযোগ্য টেক্সট হিসেবে সেভ করা HTML সেভ করার মতো ততটা সুবিধাজনক নয়।

indexableText নির্দিষ্ট করার সময়, এটাও মনে রাখবেন:

  • contentHints.indexableText এর আকারের সীমা হলো ১২৮ কিলোবাইট।
  • ব্যবহারকারী যে মূল শব্দ ও ধারণাগুলো অনুসন্ধান করবে বলে আপনি আশা করেন, সেগুলো সংগ্রহ করুন।
  • গুরুত্ব অনুসারে লেখা সাজানোর চেষ্টা করবেন না, কারণ ইনডেক্সার আপনার জন্য দক্ষতার সাথে সেই কাজটি করে দেয়।
  • আপনার অ্যাপ্লিকেশনটি প্রতিটি সেভের সাথে ইনডেক্সযোগ্য টেক্সট আপডেট করবে।
  • নিশ্চিত করুন যে লেখাটি ফাইলের বিষয়বস্তু বা মেটাডেটার সাথে সম্পর্কিত।

শেষের এই বিষয়টি হয়তো সুস্পষ্ট মনে হতে পারে, কিন্তু এটি গুরুত্বপূর্ণ। সার্চ রেজাল্টে কোনো ফাইলকে জোর করে দেখানোর জন্য বহুল ব্যবহৃত শব্দ যোগ করা ভালো বুদ্ধি নয়। এটি ব্যবহারকারীদের হতাশ করতে পারে এবং এমনকি তাদের ফাইলটি মুছে ফেলতে উৎসাহিতও করতে পারে।

থাম্বনেইল আপলোড করুন

ড্রাইভ স্বয়ংক্রিয়ভাবে গুগল ডক্স, শীটস এবং স্লাইডসের মতো অনেক প্রচলিত ফাইলের জন্য থাম্বনেইল তৈরি করে। থাম্বনেইল ব্যবহারকারীকে ড্রাইভ ফাইলগুলো আরও ভালোভাবে শনাক্ত করতে সাহায্য করে।

যেসব ফাইল টাইপের জন্য ড্রাইভ একটি স্ট্যান্ডার্ড থাম্বনেইল তৈরি করতে পারে না, সেগুলোর জন্য আপনি আপনার অ্যাপ্লিকেশন দ্বারা তৈরি একটি থাম্বনেইল ইমেজ প্রদান করতে পারেন। ফাইল তৈরি বা আপডেট করার সময়, files রিসোর্সে contentHints.thumbnail ফিল্ডটি সেট করে একটি থাম্বনেইল আপলোড করুন।

বিশেষত:

  • contentHints.thumbnail.image ফিল্ডটিকে URL এবং ফাইলের নামের সাথে নিরাপদ base64-এনকোডেড ছবিতে সেট করুন ( RFC 4648 এর ৫ নং সেকশন দেখুন)।
  • থাম্বনেইলের জন্য contentHints.thumbnail.mimeType ফিল্ডটিকে উপযুক্ত MIME টাইপে সেট করুন।

ড্রাইভ যদি ফাইলটি থেকে একটি থাম্বনেইল তৈরি করতে পারে, তবে এটি স্বয়ংক্রিয়ভাবে তৈরি হওয়া থাম্বনেইলটি ব্যবহার করে এবং আপনার আপলোড করা কোনো থাম্বনেইল উপেক্ষা করে। আর যদি এটি থাম্বনেইল তৈরি করতে না পারে, তবে আপনার দেওয়া থাম্বনেইলটি ব্যবহার করে।

থাম্বনেইলগুলোকে নিম্নলিখিত নিয়মগুলো মেনে চলতে হবে:

  • PNG, GIF বা JPG ফরম্যাটে আপলোড করা যাবে।
  • প্রস্তাবিত প্রস্থ হলো ১৬০০ পিক্সেল।
  • সর্বনিম্ন প্রস্থ হলো ২২০ পিক্সেল।
  • ফাইলের সর্বোচ্চ আকার ২ মেগাবাইট।
  • প্রতিবার সেভ করার সাথে সাথে আপনার অ্যাপ্লিকেশন দ্বারা এগুলো আপডেট করা উচিত।

আরও তথ্যের জন্য, files রিসোর্সটি দেখুন।

থাম্বনেইল পুনরুদ্ধার করুন

আপনি ড্রাইভ ফাইলগুলির জন্য থাম্বনেইল সহ মেটাডেটা পুনরুদ্ধার করতে পারেন। থাম্বনেইলের তথ্য files রিসোর্সের thumbnailLink ফিল্ডে সংরক্ষিত থাকে।

একটি নির্দিষ্ট থাম্বনেইল ফেরত দিন

নিম্নলিখিত কোড নমুনাটি একটি নির্দিষ্ট ফাইলের thumbnailLink মেটাডেটা ফেরত দেওয়ার জন্য কোয়েরি প্যারামিটার হিসাবে একাধিক ফিল্ড সহ একটি get মেথড অনুরোধ দেখায়। আরও তথ্যের জন্য, "একটি ফাইলের জন্য নির্দিষ্ট ফিল্ড ফেরত দিন" দেখুন।

GET https://www.googleapis.com/drive/v3/files/FILE_ID?fields=id,name,mimeType,thumbnailLink

আপনি যে ফাইলটি খুঁজতে চান, তার fileId দিয়ে FILE_ID প্রতিস্থাপন করুন।

উপলব্ধ থাকলে, অনুরোধটি ফাইলটির থাম্বনেইলের একটি স্বল্পস্থায়ী ইউআরএল ফেরত দেয়। সাধারণত, লিঙ্কটি কয়েক ঘণ্টা স্থায়ী হয়। এই ফিল্ডটি কেবল তখনই পূরণ করা হয় যখন অনুরোধকারী অ্যাপটি ফাইলটির বিষয়বস্তু অ্যাক্সেস করতে পারে। যদি ফাইলটি সর্বজনীনভাবে শেয়ার করা না হয়, তাহলে thumbnailLink এ ফেরত আসা ইউআরএলটি অবশ্যই একটি ক্রেডেনশিয়ালযুক্ত অনুরোধের মাধ্যমে সংগ্রহ করতে হবে।

থাম্বনেইলের একটি তালিকা ফেরত দিন

নিম্নলিখিত কোড নমুনাটি ফাইলের তালিকার জন্য thumbnailLink মেটাডেটা ফেরত দিতে কোয়েরি প্যারামিটার হিসাবে একাধিক ফিল্ড সহ একটি list মেথড রিকোয়েস্ট দেখায়। আরও তথ্যের জন্য, ফাইল এবং ফোল্ডার অনুসন্ধান দেখুন।

GET https://www.googleapis.com/drive/v3/files/?fields=files(id,name,mimeType,thumbnailLink)

অনুসন্ধানের ফলাফলকে একটি নির্দিষ্ট ফাইলের ধরনে সীমাবদ্ধ করতে, MIME টাইপ সেট করার জন্য একটি কোয়েরি স্ট্রিং প্রয়োগ করুন। উদাহরণস্বরূপ, নিম্নলিখিত কোড নমুনাটি দেখায় কিভাবে তালিকাটিকে গুগল শিটস ফাইলে সীমাবদ্ধ করা যায়। MIME টাইপ সম্পর্কে আরও তথ্যের জন্য, গুগল ওয়ার্কস্পেস এবং গুগল ড্রাইভ সমর্থিত MIME টাইপসমূহ দেখুন।

GET https://www.googleapis.com/drive/v3/files/q=mimeType='application/vnd.google-apps.spreadsheet'&fields=files(id,name,mimeType,thumbnailLink)