একটি লেবেল আপডেট করুন

আপনি গুগল ড্রাইভ লেবেল এপিআই (Google Drive Labels API) ব্যবহার করে একাধিক আপডেট অনুরোধ প্রয়োগের মাধ্যমে একটি নতুন খসড়া সংস্করণ তৈরি করে একটিমাত্র লেবেল আপডেট করতে পারেন। উদাহরণস্বরূপ, আপনি একটি বিদ্যমান লেবেলের Properties (লেবেলের মূল বিবরণ) আপডেট করতে পারেন অথবা লেবেলটিতে একটি নতুন Field যোগ করতে পারেন।

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

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

লেবেল অবজেক্ট আপডেট করুন

একটি লেবেলে আরও অনেক ধরনের অবজেক্ট অন্তর্ভুক্ত থাকে যা আপডেট করা যায়, যেমন:

  • লেবেল Properties
  • Field অবজেক্ট এবং ফিল্ড টাইপ
  • নির্বাচন Choice এবং নির্বাচন পছন্দের Properties

এগুলো হলো এমন কয়েকটি অবজেক্ট যা একটি লেবেলের চেহারা ও কার্যকারিতা নিয়ন্ত্রণ করে।

অপারেশনের বিভাগগুলি

labels রিসোর্সের উপর delta মেথড দ্বারা সমর্থিত অপারেশনগুলোকে নিম্নলিখিত বিস্তৃত বিভাগগুলিতে ভাগ করা যেতে পারে:

বিভাগ বর্ণনা
তৈরি করুন বস্তু যোগ করুন।
আপডেট কোনো অবজেক্টের নির্দিষ্ট কিছু বৈশিষ্ট্য হালনাগাদ করুন।
সক্ষম করুন অবজেক্টগুলো সক্রিয় করুন।
অক্ষম করুন বস্তুসমূহ নিষ্ক্রিয় করুন।
মুছে ফেলুন বস্তুগুলো সরান।

পরবর্তী অনুচ্ছেদে নির্দিষ্ট অপারেশনগুলোর আচরণ বর্ণনা করতে এই বিভাগগুলো ব্যবহৃত হয়।

আপডেট অনুরোধ

delta মেথডটি এক বা একাধিক Request অবজেক্ট গ্রহণ করে কাজ করে, যার প্রতিটি সম্পাদন করার জন্য একটি নির্দিষ্ট ধরনের অনুরোধ উল্লেখ করে। বিভিন্ন ধরনের অনুরোধ রয়েছে। নিচে অনুরোধের প্রকারভেদগুলো বিভিন্ন শ্রেণীতে ভাগ করে একটি বিশদ বিবরণ দেওয়া হলো।

অনুরোধ বস্তু
লেবেল বৈশিষ্ট্য
আপডেট লেবেল বৈশিষ্ট্য আপডেট করার অনুরোধ
মাঠ
তৈরি করুন CreateFieldRequest
আপডেট আপডেটফিল্ডপ্রপার্টিজরিকোয়েস্ট
আপডেটফিল্ডটাইপঅনুরোধ
সক্ষম করুন ফিল্ড অনুরোধ সক্ষম করুন
অক্ষম করুন DisableFieldRequest
মুছে ফেলুন ডিলিটফিল্ডরিকোয়েস্ট
নির্বাচন পছন্দ
তৈরি করুন নির্বাচন পছন্দের অনুরোধ তৈরি করুন
আপডেট UpdateSelectionChoicePropertiesRequest
সক্ষম করুন নির্বাচন পছন্দের অনুরোধ সক্ষম করুন
অক্ষম করুন DisableSelectionChoiceRequest
মুছে ফেলুন DeleteSelectionChoiceRequest

মাঠের মাস্ক

"আপডেট" এবং "ডিজেবল" ধরনের অনেক অনুরোধের জন্য একটি FieldMask প্রয়োজন হয়। এটি হলো কমা দ্বারা বিভক্ত এমন ফিল্ডগুলোর একটি তালিকা, যেগুলো আপনি অন্য ফিল্ডগুলো অপরিবর্তিত রেখে আপডেট করতে চান। শুধুমাত্র আপনার কাঙ্ক্ষিত ফিল্ডগুলোই যেন আপডেট হয়, তা নিশ্চিত করার জন্য মাস্কটি আবশ্যক। আপনাকে অবশ্যই অন্তত একটি ফিল্ড নির্দিষ্ট করতে হবে।

উদাহরণ

কোনো লেবেল আপডেট করতে, labels রিসোর্সের delta মেথডটি ব্যবহার করুন।

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

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

  • একটি Request যা লেবেলের জন্য প্রযোজ্য হালনাগাদগুলো নির্দিষ্ট করে।

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

  • এক বা একাধিক Field অবজেক্ট।

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

  • লেবেল প্রতিক্রিয়াগুলিতে প্রয়োগ করা হয় এমন একটি রিসোর্স ভিউ সেট করার জন্য LABEL_VIEW_FULL হিসেবে একটি LabelView অবজেক্ট ব্যবহার করা হয়। LABEL_VIEW_FULL সমস্ত সম্ভাব্য ফিল্ড ফেরত দেয়।

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

পাইথন

body = {
    'useAdminAccess': True,
    'requests': [
        {
            'updateLabel': {
                'properties': {
                    'title': 'TITLE'
                },
                'updateMask': 'title'
            }
        },
        {
            'createField': {
                'field': {
                    'properties': {
                        'displayName': 'DISPLAY_NAME'
                    },
                    'textOptions': {}
                }
            }
        }
    ],
    'view': 'LABEL_VIEW_FULL'
}

response = service.labels().delta(
    body=body,
    name='labels/ID'
).execute()

নোড.জেএস

var body = {
  'useAdminAccess': true,
  'requests': [
    {
      'updateLabel': {
        'properties': {
          'title': 'TITLE'
        },
        'updateMask': 'title'
      }
    },
    {
      'createField': {
        'field': {
          'properties': {
            'displayName': 'DISPLAY_NAME'
          },
          'textOptions': {}
        }
      }
    }
  ],
  'view': 'LABEL_VIEW_FULL'
};

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

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

  • TITLE : লেবেলটির শিরোনাম।
  • DISPLAY_NAME : ফিল্ডটির প্রদর্শিত নাম।
  • ID : লেবেলটির আইডি।

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