এই নির্দেশিকায় ব্যাখ্যা করা হয়েছে যে, গুগল ড্রাইভ এপিআই কীভাবে ফাইল ও ফোল্ডার অনুসন্ধানের বিভিন্ন উপায় সমর্থন করে।
আপনি files রিসোর্সের list মেথড ব্যবহার করে কোনো ড্রাইভ ইউজারের সব বা কিছু ফাইল ও ফোল্ডার রিটার্ন করতে পারেন। কিছু রিসোর্স মেথডের (যেমন get এবং update মেথড) জন্য প্রয়োজনীয় fileId পুনরুদ্ধার করতেও list মেথডটি ব্যবহার করা যায়।
ফিল্ড প্যারামিটার ব্যবহার করুন
রেসপন্সে কোন ফিল্ডগুলো ফেরত আসবে তা যদি আপনি নির্দিষ্ট করে দিতে চান, তাহলে files রিসোর্সের যেকোনো মেথডের সাথে fields সিস্টেম প্যারামিটারটি সেট করতে পারেন। আপনি যদি fields প্যারামিটারটি বাদ দেন, তাহলে সার্ভার মেথডটির জন্য নির্দিষ্ট কিছু ডিফল্ট ফিল্ড ফেরত দেবে। উদাহরণস্বরূপ, list মেথডটি প্রতিটি ফাইলের জন্য শুধুমাত্র kind , id , name , mimeType , এবং resourceKey ফিল্ডগুলো ফেরত দেয়। ভিন্ন ফিল্ড ফেরত দেওয়ার জন্য, Return specific fields দেখুন।
একটি ফাইল নিন
কোনো ফাইল পেতে, files রিসোর্সের get মেথডের সাথে ` fileId পাথ প্যারামিটারটি ব্যবহার করুন। যদি আপনি ফাইল আইডি না জানেন, তবে ` list মেথড ব্যবহার করে সমস্ত ফাইলের তালিকা দেখতে পারেন।
এই মেথডটি ফাইলটিকে একটি files রিসোর্সের ইনস্ট্যান্স হিসেবে রিটার্ন করে। আপনি যদি alt=media প্যারামিটারটি প্রদান করেন, তাহলে রেসপন্স বডিতে ফাইলের বিষয়বস্তু অন্তর্ভুক্ত থাকে। একটি ব্লব ফাইল ডাউনলোড করতে, “Download blob file content” দেখুন।
পরিচিত ম্যালওয়্যার বা অন্যান্য ক্ষতিকর ফাইল ডাউনলোড করার ঝুঁকি স্বীকার করতে, acknowledgeAbuse কোয়েরি প্যারামিটারটি true তে সেট করুন। এই ফিল্ডটি শুধুমাত্র তখনই প্রযোজ্য হবে যখন alt=media প্যারামিটারটি সেট করা থাকবে এবং ব্যবহারকারী ফাইলটির মালিক অথবা ফাইলটি যে শেয়ার্ড ড্রাইভে রয়েছে তার একজন সংগঠক হবেন।
বর্তমান ব্যবহারকারীর 'মাই ড্রাইভ'-এ থাকা সমস্ত ফাইল ও ফোল্ডার অনুসন্ধান করুন।
কোনো প্যারামিটার ছাড়া list মেথডটি ব্যবহার করলে সমস্ত ফাইল ও ফোল্ডার ফেরত আসবে।
GET https://www.googleapis.com/drive/v3/files
বর্তমান ব্যবহারকারীর 'মাই ড্রাইভ'-এ নির্দিষ্ট ফাইল বা ফোল্ডার অনুসন্ধান করুন।
নির্দিষ্ট কোনো ফাইল বা ফোল্ডার খুঁজতে, এক বা একাধিক সার্চ টার্ম একত্রিত করে ফলাফল হিসেবে আসা ফাইলগুলো ফিল্টার করার জন্য list মেথডের সাথে কোয়েরি স্ট্রিং q ফিল্ডটি ব্যবহার করুন।
কোয়েরি স্ট্রিং সিনট্যাক্সে নিম্নলিখিত তিনটি অংশ থাকে:
query_term operator values
কোথায়:
query_termহলো অনুসন্ধানের জন্য প্রয়োজনীয় শব্দ বা ক্ষেত্র।operatorকোয়েরি টার্মের জন্য শর্ত নির্দিষ্ট করে।valuesহলো সেই নির্দিষ্ট মানগুলো যা আপনি আপনার অনুসন্ধানের ফলাফল ফিল্টার করতে ব্যবহার করতে চান।
উদাহরণস্বরূপ, নিম্নলিখিত কোয়েরি স্ট্রিংটি MIME টাইপ সেট করার মাধ্যমে সার্চকে ফিল্টার করে শুধুমাত্র ফোল্ডারগুলো ফেরত দেয়:
q: mimeType = 'application/vnd.google-apps.folder'
সমস্ত ফাইল কোয়েরি টার্ম দেখতে, ফাইল-নির্দিষ্ট কোয়েরি টার্ম দেখুন।
কোয়েরি তৈরি করতে ব্যবহারযোগ্য সমস্ত কোয়েরি অপারেটর দেখতে, কোয়েরি অপারেটরসমূহ দেখুন।
কোয়েরি স্ট্রিং এর উদাহরণ
নিচের সারণিতে কিছু সাধারণ কোয়েরি স্ট্রিং-এর উদাহরণ দেওয়া হলো। আপনি অনুসন্ধানের জন্য যে ক্লায়েন্ট লাইব্রেরি ব্যবহার করেন, তার ওপর নির্ভর করে প্রকৃত কোড ভিন্ন হতে পারে।
কোয়েরিটি সঠিকভাবে কাজ করার জন্য আপনাকে ফাইলের নামে থাকা বিশেষ অক্ষরগুলোকেও এস্কেপ করতে হবে। উদাহরণস্বরূপ, যদি কোনো ফাইলের নামে অ্যাপস্ট্রফি ( ' ) এবং ব্যাকস্ল্যাশ ( "\" ) উভয় অক্ষরই থাকে, তাহলে সেগুলোকে এস্কেপ করার জন্য একটি ব্যাকস্ল্যাশ ব্যবহার করুন: name contains 'quinn\'s paper\\essay' ।
| কী জিজ্ঞাসা করতে হবে | উদাহরণ |
|---|---|
স্ট্রিং ম্যাচ অপারেটর ( contains ) | |
| যে ফাইলগুলিতে 'hello' শব্দটি রয়েছে | fullText contains 'hello' |
| যে ফাইলগুলিতে হুবহু "hello world" শব্দটি রয়েছে | fullText contains '"hello world"' |
| যেসব ফাইলের কোয়েরিতে "\" অক্ষরটি থাকে (উদাহরণস্বরূপ, "\authors") | fullText contains '\\authors' |
| যেসব ফাইলের নামে 'বাজেট' শব্দটি রয়েছে | name contains 'budget' |
সমতা ও অসমতা অপারেটর ( = , != ) | |
| "হ্যালো" নামের ফাইলগুলি | name = 'hello' |
| যে ফাইলগুলো ফোল্ডার | mimeType = 'application/vnd.google-apps.folder' |
| যে ফাইলগুলো ফোল্ডার নয় | mimeType != 'application/vnd.google-apps.folder' |
| তারকাচিহ্নিত ফাইল | starred = true |
| ট্র্যাশে থাকা ফাইলগুলো | trashed = true |
| যে ফাইলগুলো ট্র্যাশে নেই | trashed = false |
| শর্টকাট যা একটি নির্দিষ্ট ফাইল আইডি নির্দেশ করে | shortcutDetails.targetId = '1987654321' |
| যে ফাইলগুলি কারও সাথে বা ডোমেনের সাথে শেয়ার করা হয়নি (ব্যক্তিগত, অথবা নির্দিষ্ট ব্যবহারকারী বা গোষ্ঠীর সাথে শেয়ার করা) | visibility = 'limited' |
তুলনা অপারেটর ( > , >= , < , <= ) | |
| একটি নির্দিষ্ট তারিখের পরে পরিবর্তিত ফাইল (ডিফল্ট সময় অঞ্চল হল UTC) | modifiedTime > '2012-06-04T12:00:00' |
| ১ জানুয়ারী, ২০২৩ এর পরে তৈরি করা ফাইলগুলি | createdTime > '2023-01-01T00:00:00' |
| ১ জানুয়ারী, ২০২৩ এর আগে সংশোধিত ফাইলসমূহ | modifiedTime < '2023-01-01T00:00:00' |
সংগ্রহ সদস্যপদ অপারেটর ( in ) | |
একটি সংগ্রহের অন্তর্গত ফাইলসমূহ (উদাহরণস্বরূপ, parents সংগ্রহের ফোল্ডার আইডি) | '1234567' in parents |
| অ্যাপ্লিকেশন ডেটা ফোল্ডারের ফাইলগুলি | 'appDataFolder' in parents |
| যে ফাইলগুলির মালিক ব্যবহারকারী "test@example.org" | 'test@example.org' in owners |
| যে ফাইলগুলিতে "test@example.org" ব্যবহারকারীর লেখার অনুমতি আছে | 'test@example.org' in writers |
| যে ফাইলগুলিতে "group@example.org" গ্রুপের সদস্যদের লেখার অনুমতি আছে | 'group@example.org' in writers |
| যে ফাইলগুলোতে ব্যবহারকারী "test@example.org"-এর পড়ার অনুমতি আছে | 'test@example.org' in readers |
সংগ্রহ মেলানোর অপারেটর ( has ) | |
| কাস্টম ফাইল প্রপার্টি সহ ফাইলগুলি যা সমস্ত অ্যাপের কাছে দৃশ্যমান। | properties has { key='mass' and value='1.3kg' } |
| অনুরোধকারী অ্যাপের জন্য ব্যক্তিগত একটি কাস্টম ফাইল প্রপার্টি সহ ফাইলসমূহ। | appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' } |
| যেসব ফাইলে 'department' কী-সহ একটি কাস্টম ফাইল প্রপার্টি আছে (মান নির্বিশেষে) | properties has { key='department' } |
যৌক্তিক অপারেটর ( and , or , not ) | |
| যে ফাইলগুলোর নামে 'hello' এবং 'goodbye' শব্দ দুটি রয়েছে | name contains 'hello' and name contains 'goodbye' |
| যে ফাইলগুলোর নামে 'hello' শব্দটি নেই | not name contains 'hello' |
| যে ফাইলগুলিতে "গুরুত্বপূর্ণ" লেখাটি রয়েছে এবং যেগুলি ট্র্যাশে আছে | fullText contains 'important' and trashed = true |
| যে ফাইলগুলিতে 'hello' শব্দটি নেই | not fullText contains 'hello' |
| একটি নির্দিষ্ট তারিখের পরে পরিবর্তিত ছবি বা ভিডিও ফাইল | modifiedTime > '2012-06-04T12:00:00' and (mimeType contains 'image/' or mimeType contains 'video/') |
| অনুমোদিত ব্যবহারকারীর সাথে শেয়ার করা ফাইল, যেগুলোর নামে "hello" শব্দটি রয়েছে। | sharedWithMe and name contains 'hello' |
| যে ফাইলগুলো ফোল্ডার বা শর্টকাট | mimeType = 'application/vnd.google-apps.folder' or mimeType = 'application/vnd.google-apps.shortcut' |
| "প্রজেক্ট প্ল্যান" নামের ফাইলগুলো যা ট্র্যাশে নেই | name = 'Project Plan' and trashed = false |
ক্লায়েন্ট লাইব্রেরি ব্যবহার করে অনুসন্ধানের ফলাফল ফিল্টার করুন
নিম্নলিখিত কোড নমুনাটি দেখায় কিভাবে একটি ক্লায়েন্ট লাইব্রেরি ব্যবহার করে JPEG ফাইলের নাম এবং আইডি অনুসারে অনুসন্ধানের ফলাফল ফিল্টার করা যায়। এই নমুনাটি image/jpeg টাইপের ফাইলগুলিতে ফলাফল সীমাবদ্ধ করতে mimeType কোয়েরি টার্ম ব্যবহার করে। এটি অনুসন্ধানকে আরও সীমাবদ্ধ করে ড্রাইভ স্পেসে নিয়ে যাওয়ার জন্য spaces drive হিসেবে সেট করে। যখন nextPageToken null রিটার্ন করে, তখন আর কোনো ফলাফল দেখানো হয় না।
জাভা
পাইথন
নোড.জেএস
পিএইচপি
কাস্টম ফাইল প্রপার্টি ব্যবহার করে ফাইল অনুসন্ধান করুন
কাস্টম ফাইল প্রপার্টি সহ ফাইল অনুসন্ধান করতে, একটি কী এবং ভ্যালু সহ ` properties অথবা ` appProperties সার্চ কোয়েরি টার্ম ব্যবহার করুন। উদাহরণস্বরূপ, অনুরোধকারী অ্যাপের নিজস্ব additionalID নামক একটি কাস্টম ফাইল প্রপার্টি, যার ভ্যালু ` 8e8aceg2af2ge72e78 , অনুসন্ধান করতে:
appProperties has { key='additionalID' and value='8e8aceg2af2ge72e78' }
আরও তথ্যের জন্য, কাস্টম ফাইল প্রোপার্টি যোগ করুন দেখুন।
একটি নির্দিষ্ট লেবেল বা ফিল্ড মান দিয়ে ফাইল অনুসন্ধান করুন
নির্দিষ্ট লেবেলযুক্ত ফাইল খুঁজতে, একটি নির্দিষ্ট লেবেল আইডি সহ ' labels ' সার্চ কোয়েরি টার্মটি ব্যবহার করুন। উদাহরণস্বরূপ: 'labels/ LABEL_ID ' in labels । সফল হলে, রেসপন্স বডিতে সেই সমস্ত ফাইলের তালিকা থাকবে যেখানে লেবেলটি প্রয়োগ করা হয়েছে।
নির্দিষ্ট লেবেল আইডি ছাড়া ফাইল খুঁজতে: Not 'labels/ LABEL_ID ' in labels .
আপনি নির্দিষ্ট ফিল্ড ভ্যালুর উপর ভিত্তি করেও ফাইল খুঁজতে পারেন। উদাহরণস্বরূপ, টেক্সট ভ্যালু সহ ফাইল খুঁজতে: labels/ LABEL_ID .text_field_id =' TEXT ' .
আরও তথ্যের জন্য, নির্দিষ্ট লেবেল বা ফিল্ড ভ্যালু দিয়ে ফাইল অনুসন্ধান দেখুন।
কর্পোরা অনুসন্ধান করুন
ডিফল্টরূপে, list মেথড ব্যবহার করার সময় corpora কোয়েরি প্যারামিটারে user আইটেম কালেকশন সেট করা থাকে। অন্যান্য আইটেম কালেকশন, যেমন কোনো domain সাথে শেয়ার করা কালেকশন, সার্চ করার জন্য আপনাকে অবশ্যই corpora প্যারামিটারটি স্পষ্টভাবে সেট করতে হবে।
আপনি একটিমাত্র কোয়েরিতে একাধিক কর্পোরা অনুসন্ধান করতে পারেন; তবে, সম্মিলিত কর্পোরা খুব বড় হলে, এপিআই অসম্পূর্ণ ফলাফল দেখাতে পারে। রেসপন্স বডিতে থাকা incompleteSearch ফিল্ডটি পরীক্ষা করুন। যদি এর মান true , তাহলে কিছু ডকুমেন্ট বাদ পড়ে গেছে। এর সমাধান করতে, user অথবা drive ব্যবহার করে corpora সংকুচিত করুন।
list মেথডে orderBy কোয়েরি প্যারামিটার ব্যবহার করার সময়, বড় আইটেম কালেকশনের কোয়েরির জন্য createdTime কী ব্যবহার করা থেকে বিরত থাকুন, কারণ এর জন্য অতিরিক্ত প্রসেসিং প্রয়োজন হয় এবং এর ফলে টাইমআউট বা অন্যান্য সমস্যা হতে পারে। বড় আইটেম কালেকশনে সময়-ভিত্তিক সর্টিংয়ের জন্য, আপনি এর পরিবর্তে modifiedTime ব্যবহার করতে পারেন, কারণ এটি এই ধরনের কোয়েরি পরিচালনার জন্য অপ্টিমাইজ করা হয়েছে। উদাহরণস্বরূপ, ?orderBy=modifiedTime ।
আপনি যদি orderBy কোয়েরি প্যারামিটারটি বাদ দেন, তাহলে কোনো ডিফল্ট সর্ট অর্ডার থাকে না এবং আইটেমগুলো যথেচ্ছভাবে ফেরত আসে।
সম্পর্কিত বিষয়
- শেয়ার করা ড্রাইভ অনুসন্ধান করুন
- অনুসন্ধান কোয়েরির পদ এবং অপারেটর
- গুগল ওয়ার্কস্পেস এবং গুগল ড্রাইভ সমর্থিত MIME প্রকারগুলি
- ভূমিকা এবং অনুমতি
- একটি নির্দিষ্ট লেবেল বা ফিল্ড মান দিয়ে ফাইল অনুসন্ধান করুন