একটি লেবেল তৈরি ও প্রকাশ করুন

এই ডকুমেন্টে গুগল ড্রাইভ লেবেল এপিআই (Google Drive Labels API) ব্যবহার করে লেবেল তৈরি ও প্রকাশ করার পদ্ধতি বর্ণনা করা হয়েছে।

একটি লেবেল তৈরি করুন

একটি লেবেল তৈরি করতে, labels রিসোর্সের create মেথডটি ব্যবহার করুন। লেবেলে ঐচ্ছিকভাবে এক বা একাধিক Field অবজেক্ট থাকতে পারে।

আপনাকে আরও নির্দিষ্ট করে বলতে হবে:

  • একটি LabelType অবজেক্ট।

  • Properties অবজেক্টের মাধ্যমে একটি লেবেল title

  • ব্যবহারকারীর অ্যাডমিনিস্ট্রেটর ক্রেডেনশিয়াল ব্যবহার করার জন্য useAdminAccess কোয়েরি প্যারামিটারটি true তে সেট করা হয়। অ্যাক্সেস দেওয়ার আগে, সার্ভার যাচাই করে দেখে যে ব্যবহারকারীর প্রয়োজনীয় 'ম্যানেজ ক্লাসিফিকেশন লেবেল' অ্যাডমিনিস্ট্রেটর প্রিভিলেজ আছে কি না।

নিম্নলিখিত কোড নমুনাটি দেখায় কিভাবে ` create পদ্ধতি ব্যবহার করে একটি নির্দিষ্ট শিরোনাম সহ একটি সাধারণ প্রশাসক লেবেল এবং দুটি Choice অবজেক্ট সহ একটি SelectionOptions Field তৈরি করতে হয়।

পাইথন

label_body = {
    'labelType': 'ADMIN',
    'properties': {
        'title': 'TITLE'
    },
    'fields': [{
        'properties': {
            'displayName': 'DISPLAY_NAME'
        },
        'selectionOptions': {
            'listOptions': {},
            'choices': [{
                'properties': {
                    'displayName': 'CHOICE_1'
                }
            }, {
                'properties': {
                    'displayName': 'CHOICE_2'
                }
            }]
        }
    }]
}
response = service.labels().create(
    body=label_body, useAdminAccess=True).execute()

নোড.জেএস

var label = {
  'labelType': 'ADMIN',
  'properties': {
    'title': 'TITLE'
  },
  'fields': [{
    'properties': {
      'displayName': 'DISPLAY_NAME'
    },
    'selectionOptions': {
      'listOptions': {},
      'choices': [{
        'properties': {
          'displayName': 'CHOICE_1'
        }
      }, {
        'properties': {
          'displayName': 'CHOICE_2'
        }
      }]
    }
  }]
};

service.labels.create({
  requestBody: label,
  useAdminAccess: true
}, (err, res) => {
  if (err) return console.error('The API returned an error: ' + err);
  console.log(res);
});

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

  • TITLE : লেবেলটির শিরোনাম।
  • DISPLAY_NAME : ফিল্ডটির প্রদর্শিত নাম।
  • CHOICE_1 : SelectionOptions ফিল্ডের প্রথম পছন্দ।
  • CHOICE_2 : SelectionOptions ফিল্ডের দ্বিতীয় পছন্দ।

লেবেলটি UNPUBLISHED_DRAFT State তৈরি করা হয়। ব্যবহারকারীদের কাছে দৃশ্যমান হতে এবং ফাইলগুলিতে ব্যবহারের জন্য লেবেলটি অবশ্যই PUBLISHED হতে হবে। আরও তথ্যের জন্য, লেবেল লাইফসাইকেল দেখুন।

লেবেল সীমা

লেবেল তৈরি এবং প্রয়োগ করার ক্ষেত্রে নিম্নলিখিত সীমাবদ্ধতাগুলি প্রযোজ্য:

  • স্ট্যান্ডার্ড লেবেল: ১৫০
  • প্রতি লেবেলে ফিল্ডের সংখ্যা: ১০

লেবেলে ফিল্ড নিয়ে কাজ করা

নিম্নলিখিত সারণিতে একটি লেবেলে আপনি কী ধরনের ফিল্ড যোগ করতে পারেন, ব্যবহারকারীরা কীভাবে সেগুলোর সাথে মিথস্ক্রিয়া করে এবং সেগুলোর ফরম্যাট সংক্রান্ত বিবেচ্য বিষয় ও সীমাবদ্ধতা বর্ণনা করা হয়েছে:

Field Type ব্যবহারকারীরা যা করতে পারেন বিন্যাস সংক্রান্ত বিবেচ্য বিষয় এবং সীমাবদ্ধতা
SelectionOptions তালিকা থেকে এক বা একাধিক বিকল্প নির্বাচন করুন সর্বোচ্চ ২০০টি অপশন সমর্থন করা হয়।
ListOptions এ কনফিগার করা অনুযায়ী একটি ফাইলের জন্য সর্বোচ্চ ১০টি নির্বাচন করা যাবে।
IntegerOptions একটি সংখ্যাসূচক মান লিখুন শুধুমাত্র পূর্ণ সংখ্যা সমর্থিত
DateOptions একটি ক্যালেন্ডার তারিখ নির্বাচন করুন (ঐচ্ছিক) DateFormat "Long: Month DD, YYYY" অথবা "Short: MM/DD/YY" হিসেবে সেট করা যেতে পারে।
TextOptions টেক্সট বক্সে টেক্সট লিখুন সর্বোচ্চ ১০০টি অক্ষর সমর্থন করা হয়।
UserOptions গুগল ওয়ার্কস্পেস কন্ট্যাক্টস থেকে এক বা একাধিক ব্যবহারকারীকে নির্বাচন করুন। ListOptions এ কনফিগার করা অনুযায়ী একটি ফাইলের জন্য ব্যবহারকারীর এন্ট্রির সর্বোচ্চ সংখ্যা হল ১০।

একটি লেবেল প্রকাশ করুন

ড্রাইভ লেবেল এপিআই আপনাকে একটি খসড়া লেবেল তৈরি হয়ে গেলে তা প্রকাশ করার সুযোগ দেয়। এরপর লেবেলটি ব্যবহারকারীদের কাছে দৃশ্যমান হয় এবং ফাইলগুলিতে প্রয়োগ করা যায়।

একটি লেবেল প্রকাশ করতে, labels রিসোর্সের publish মেথডটি ব্যবহার করুন এবং নির্দিষ্ট করুন:

  • একটি labels রিসোর্স প্রতিটি লেবেলকে উপস্থাপন করে। এতে একটি রিসোর্স name এবং একটি id থাকে, যা লেবেলটির জন্য একটি বিশ্বব্যাপী অনন্য শনাক্তকারী।

  • ব্যবহারকারীর অ্যাডমিনিস্ট্রেটর ক্রেডেনশিয়াল ব্যবহার করার জন্য useAdminAccess কোয়েরি প্যারামিটারটি true তে সেট করা হয়। অ্যাক্সেস দেওয়ার আগে, সার্ভার যাচাই করে দেখে যে ব্যবহারকারীর প্রয়োজনীয় 'ম্যানেজ ক্লাসিফিকেশন লেবেল' অ্যাডমিনিস্ট্রেটর প্রিভিলেজ আছে কি না।

নিম্নলিখিত কোড নমুনাটি দেখায় কিভাবে লেবেলের id ব্যবহার করে সঠিক লেবেলটি শনাক্ত ও প্রকাশ করা যায়।

পাইথন

service.labels().publish(
    name='labels/ID',
    body={
        'useAdminAccess': True
    }
).execute()

নোড.জেএস

service.labels.publish({
  name: 'labels/ID',
  requestBody: {
    useAdminAccess: true
  }
}, (err, res) => {
  if (err) return console.error('The API returned an error: ' + err);
  console.log(res);
});

প্রকাশ করার জন্য লেবেলের আইডি দিয়ে ID প্রতিস্থাপন করুন।

লেবেলটি প্রকাশিত হয়ে গেলে, এটি 'প্রকাশিত' PUBLISHED State চলে যায় এবং এর রিভিশন আইডি এক বৃদ্ধি পায়। এরপর লেবেলটি ব্যবহারকারীদের কাছে দৃশ্যমান হয় এবং ফাইলগুলিতে প্রয়োগ করা যায়। আরও তথ্যের জন্য, লেবেল জীবনচক্র (Label lifecycle ) দেখুন।

লেবেল প্রকাশ করার ক্ষেত্রে সীমাবদ্ধতা

লেবেল প্রকাশ করার প্রস্তুতি নেওয়ার সময়, এই সীমাবদ্ধতাগুলো লক্ষ্য করুন:

  • একবার প্রকাশিত হলে, একটি লেবেল তার মূল খসড়া অবস্থায় ফিরে আসতে পারে না। আরও তথ্যের জন্য, লেবেল জীবনচক্র দেখুন।

  • একটি লেবেল প্রকাশ করলে একটি নতুন প্রকাশিত সংস্করণ তৈরি হয়। পূর্ববর্তী সমস্ত খসড়া সংস্করণ মুছে ফেলা হয়। পূর্বে প্রকাশিত সংস্করণগুলি সংরক্ষিত থাকে, তবে প্রয়োজন অনুযায়ী স্বয়ংক্রিয়ভাবে মুছে ফেলা হয়।

  • একবার প্রকাশিত হয়ে গেলে, কিছু পরিবর্তন আর অনুমোদিত থাকে না। সাধারণত, এর অর্থ হলো লেবেল সম্পর্কিত বিদ্যমান মেটাডেটাকে অবৈধ করে বা তার উপর নতুন বিধিনিষেধ আরোপ করে এমন যেকোনো পরিবর্তন প্রত্যাখ্যান করা হয়। উদাহরণস্বরূপ, একটি লেবেল প্রকাশিত হওয়ার পর তাতে নিম্নলিখিত পরিবর্তনগুলি অনুমোদিত নয়:

    • লেবেলটি সরাসরি মুছে ফেলা হয়। (প্রথমে এটিকে নিষ্ক্রিয় করতে হবে, তারপর মুছতে হবে।)
    • Field.FieldType পরিবর্তন করা হয়েছে।
    • Field ভ্যালিডেশন অপশনের আপডেটের ফলে পূর্বে গৃহীত কোনো কিছু বাতিল হয়ে যায়।
    • সর্বোচ্চ অংশগ্রহণের সংখ্যা হ্রাস করা হয়েছে।