ফিল্ড মাস্ক ব্যবহার করুন, ফিল্ড মাস্ক ব্যবহার করুন

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

ফিল্ড মাস্ক ব্যবহার না করলে এবং ব্যবহার করলে রেসপন্স বডিতে কী ফেরত আসে, তার তুলনার জন্য “আংশিক রিসোর্স নিয়ে কাজ করা” দেখুন।

ফিল্ড মাস্ক দিয়ে পড়ুন

প্রেজেন্টেশনগুলো বড় হতে পারে, এবং প্রায়শই একটি রিড রিকোয়েস্টের মাধ্যমে ফেরত আসা presentations রিসোর্সের প্রতিটি অংশের আপনার প্রয়োজন হয় না। আপনি fields ' ইউআরএল প্যারামিটার ব্যবহার করে স্লাইডস এপিআই রেসপন্সে কী ফেরত আসবে তা সীমিত করতে পারেন। সর্বোত্তম পারফরম্যান্সের জন্য, রিপ্লাইতে শুধুমাত্র আপনার প্রয়োজনীয় ফিল্ডগুলো স্পষ্টভাবে তালিকাভুক্ত করুন

`fields` প্যারামিটারের ফরম্যাটটি `FieldMask`-এর JSON এনকোডিং- এর মতোই। সংক্ষেপে বলতে গেলে, একাধিক ভিন্ন ফিল্ড কমা দিয়ে এবং সাবফিল্ডগুলো ডট দিয়ে আলাদা করা হয়। ফিল্ডের নাম ক্যামেলকেস (camelCase) বা আন্ডারস্কোর দিয়ে আলাদা করে উল্লেখ করা যেতে পারে। সুবিধার জন্য, একই ধরনের একাধিক সাবফিল্ড বন্ধনীর মধ্যে তালিকাভুক্ত করা যেতে পারে।

নিম্নলিখিত presentations.get মেথড রিকোয়েস্ট উদাহরণটি একটি প্রেজেন্টেশনের সমস্ত স্লাইডের pageElement অবজেক্টের শুধুমাত্র অবজেক্ট আইডি, Size এবং ট্রান্সফর্ম আনার জন্য slides.pageElements(objectId,size,transform) এর একটি ফিল্ড মাস্ক ব্যবহার করে:

GET https://slides.googleapis.com/v1/presentations/presentationId?fields=slides.pageElements(objectId,size,transform)

এই মেথড কলের প্রতিক্রিয়া হলো একটি presentations অবজেক্ট, যাতে ফিল্ড মাস্কে অনুরোধ করা উপাদানগুলো থাকে:

{
  "slides": [
    {
      "pageElements": [
        {
          "objectId": "OBJECT_ID",
          "size": {
            "width": {
              "magnitude": 3000000,
              "unit": "EMU"
            },
            "height": {
              "magnitude": 3000000,
              "unit": "EMU"
            }
          },
          "transform": {
            "scaleX": 1,
            "scaleY": 1
            "translateX": 311708,
            "translateY": 744575,
            "unit": "EMU"
          }
        },
        {
          "objectId": "OBJECT_ID",
          "size": {
            "width": {
              "magnitude": 3000000,
              "unit": "EMU"
            },
            "height": {
              "magnitude": 3000000,
              "unit": "EMU"
            }
          },
          "transform": {
            "scaleX": 1,
            "scaleY": 1
            "translateX": 311700,
            "translateY": 2834125,
            "unit": "EMU"
          }
        }
     ]
    }
  ]
}

ফিল্ড মাস্ক দিয়ে আপডেট করুন

কখনও কখনও একটি অবজেক্টের অন্যান্য ফিল্ড অপরিবর্তিত রেখে শুধুমাত্র নির্দিষ্ট কিছু ফিল্ড আপডেট করার প্রয়োজন হয়। presentations.batchUpdate মেথডের ভেতরের আপডেট রিকোয়েস্টগুলো কোন ফিল্ডগুলো পরিবর্তন করা হচ্ছে তা API-কে জানানোর জন্য ফিল্ড মাস্ক ব্যবহার করে। আপডেট রিকোয়েস্টটি ফিল্ড মাস্কে নির্দিষ্ট করা নেই এমন যেকোনো ফিল্ডকে উপেক্ষা করে এবং সেগুলোকে তাদের বর্তমান মানসহ রেখে দেয়।

আপনি আপডেট করা মেসেজে কোনো ফিল্ড উল্লেখ না করে, কিন্তু মাস্কে ফিল্ডটি যোগ করার মাধ্যমেও সেটিকে আনসেট করতে পারেন। এর ফলে ফিল্ডটির পূর্ববর্তী মান মুছে যায়।

ফিল্ড মাস্ক আপডেট করার সিনট্যাক্স, ফিল্ড মাস্ক রিড করার সিনট্যাক্সের মতোই।

নিম্নলিখিত উদাহরণটি একটি শেপের কালার ফিলকে DARK1 থিম কালারে পরিবর্তন করতে এবং শেপটির আউটলাইন আনসেট করতে UpdateShapePropertiesRequest মেথডটি ব্যবহার করে:

POST https://slides.googleapis.com/v1/presentations/presentationId:batchUpdate
{
  "requests": [
    {
      "updateShapeProperties": {
        "objectId": OBJECT_ID,
        "shapeProperties": {
          "shapeBackgroundFill": {
            "solidFill": {
              "color": {
                "themeColor": "DARK1"
              }
            }
          }
        },
        "fields": "shapeBackgroundFill.solidFill.color,outline"
      }
    }
  ]
}