একটি নির্দিষ্ট লেবেল বা ক্ষেত্রের মান সহ ফাইলগুলির জন্য অনুসন্ধান করুন৷

এই পৃষ্ঠাটি বর্ণনা করে যে কীভাবে একটি নির্দিষ্ট লেবেল বা ক্ষেত্রের মান প্রয়োগ করা হয়েছে এমন ফাইলগুলি অনুসন্ধান করতে হয়।

লেবেল ক্ষেত্রের ধরণ

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

আদর্শ লেবেলের ধরণের বিকল্প সমর্থিত অনুসন্ধান অপারেটর
টেক্সট টেক্সট অপশন is null, is not null, =, contains, starts with
দীর্ঘ লেখা লংটেক্সটঅপশন is null, is not null, contains
পূর্ণসংখ্যা পূর্ণসংখ্যার বিকল্প is null, is not null, =, !=, <, >, <=, >=
তারিখ তারিখবিকল্প is null, is not null, =, !=, <, >, <=, >=
নির্বাচন নির্বাচনবিকল্প is null, is not null, =, !=
ব্যবহারকারী ব্যবহারকারীর বিকল্প is null, is not null, =, !=
নির্বাচন তালিকা নির্বাচনের বিকল্পগুলি (max_entries > 1 সহ) is null, is not null, in, not in
ব্যবহারকারীর তালিকা ব্যবহারকারীর বিকল্প (max_entries > 1 সহ) is null, is not null, in, not in

১. লেবেল বা ক্ষেত্রের উপস্থিতির উপর ভিত্তি করে অনুসন্ধান করুন

আপনি এমন আইটেম অনুসন্ধান করতে পারেন যেখানে একটি নির্দিষ্ট লেবেল প্রয়োগ করা হয়েছে (অথবা করা হয়নি):

  • 'labels/contract' in labels
  • not 'labels/contract' in labels

আপনি এমন আইটেমগুলিও অনুসন্ধান করতে পারেন যেখানে একটি নির্দিষ্ট ক্ষেত্র সেট করা আছে (অথবা করা হয়নি):

  • labels/contract.comment IS NOT NULL
  • labels/contract.comment IS NULL

2. একক-মূল্যবান ক্ষেত্রগুলির উপর ভিত্তি করে অনুসন্ধান করুন

আপনি প্রত্যাশিত ক্ষেত্রের মানগুলির সাথে মিল রেখে অনুসন্ধান কোয়েরি লিখতে পারেন। নিম্নলিখিত টেবিলটি বৈধ ক্ষেত্র কোয়েরিগুলি দেখায়:

আপনি যা জিজ্ঞাসা করতে চান কোয়েরি স্ট্রিং
যেসব আইটেমে মন্তব্য "হ্যালো" তে সেট করা আছে labels/contract.comment = 'hello'
যেসব ফাইলের মন্তব্য "হ্যালো" দিয়ে শুরু হয় labels/contract.comment STARTS WITH 'hello'
ফাইল যেখানে স্ট্যাটাস কার্যকর করা হয় labels/contract.status = 'executed'
যেসব ফাইলের স্ট্যাটাস কার্যকর করা হয় না labels/contract.status != 'executed'
যেসব ফাইলে execution_date একটি নির্দিষ্ট তারিখের আগে থাকে labels/contract.execution_date < '2020-06-22'
যেসব ফাইলের মান_ইউএসডি (পূর্ণসংখ্যা) একটি নির্দিষ্ট মানের চেয়ে কম labels/contract.value_usd < 2000
যেসব ফাইলে client_contact একটি নির্দিষ্ট ইমেল ঠিকানায় সেট করা থাকে labels/contract.client_contact = 'alex@altostrat.com'

৩. বহুমূল্যযুক্ত ক্ষেত্র সহ ক্ষেত্রগুলির উপর ভিত্তি করে অনুসন্ধান করুন (যেমন ListOptions.max_entries > 1)

একাধিক মান সমর্থন করে এমন ক্ষেত্রগুলি শুধুমাত্র IN অপারেটর ব্যবহার করে জিজ্ঞাসা করা যেতে পারে:

  • ' EMAIL_ADDRESS ' IN labels/project.project_leads
  • NOT ' EMAIL_ADDRESS ' IN labels/project.project_leads

উদাহরণ

নিম্নলিখিত কোড নমুনাটি দেখায় যে কীভাবে একটি ড্রাইভ ফাইল রিসোর্স থেকে একটি নির্দিষ্ট লেবেল বা ফিল্ড মান সহ সমস্ত ফাইল তালিকাভুক্ত করতে এক বা একাধিক labelId ব্যবহার করতে হয়। এটি files.list পদ্ধতিও ব্যবহার করে। অনুরোধের বডিটি অবশ্যই খালি থাকতে হবে।

যদি আপনি প্রতিক্রিয়ায় labelInfo অন্তর্ভুক্ত করতে চান, তাহলে আপনাকে অবশ্যই উল্লেখ করতে হবে:

  • কমা দ্বারা পৃথক আইডির তালিকা হিসেবে includeLabels

  • fields প্যারামিটারে labelInfo যাতে বোঝা যায় যে আপনি includeLabels মধ্যে labelInfo ফেরত চান।

সফল হলে, রেসপন্স বডিতে ফাইলের তালিকা থাকবে।

জাভা

List<File> fileList = driveService.files().list().setIncludeLabels("LABEL_1_ID,LABEL_2_ID").setFields("items(labelInfo, id)").setQ("'labels/LABEL_1_ID' in labels and 'labels/LABEL_2_ID' in labels").execute().getItems();

পাইথন

file_list = drive_service.files().list(includeLabels="LABEL_1_ID,LABEL_2_ID", q="'labels/LABEL_1_ID' in labels and 'labels/LABEL_2_ID' in labels", fields="items(labelInfo, id)").execute();

নোড.জেএস

/**
* Search for Drive files with specific labels
* @return{obj} file list with labelInfo
**/
async function searchForFileWithLabels() {
  // Get credentials and build service
  // TODO (developer) - Use appropriate auth mechanism for your app

  const {GoogleAuth} = require('google-auth-library');
  const {google} = require('googleapis');

  const auth = new GoogleAuth({scopes: 'https://www.googleapis.com/auth/drive'});
  const service = google.drive({version: 'v3', auth});
  try {
    const fileList = await service.files.list({
      includeLabels: 'LABEL_1_ID,LABEL_2_ID',
      q: '\'labels/LABEL_1_ID\' in labels and \'labels/LABEL_2_ID\' in labels',
      fields:'files(labelInfo, id)',
    });
    return file;
  } catch (err) {
    // TODO (developer) - Handle error
    throw err;
  }

নিম্নলিখিতগুলি প্রতিস্থাপন করুন:

  • LABEL_1_ID : একটি লেবেলের প্রথম labelId যা ফেরত পাঠানো হবে।
  • LABEL_2_ID : একটি লেবেলের দ্বিতীয় labelId যা ফেরত পাঠানো হবে।