উপাদান অপারেশন

Google Slides API আপনাকে একটি PageElement রিসোর্স তৈরি এবং সম্পাদনা করতে দেয়, যার মধ্যে রয়েছে টেক্সট বক্স, ছবি, টেবিল, মৌলিক আকার, লাইন এবং এমবেডেড ভিডিও। এই পৃষ্ঠার উদাহরণগুলি presentations.batchUpdate পদ্ধতি ব্যবহার করে কিছু সাধারণ পৃষ্ঠা উপাদান ক্রিয়াকলাপ দেখায়।

এই উদাহরণগুলিতে নিম্নলিখিত ভেরিয়েবলগুলি ব্যবহার করা হয়েছে:

  • PRESENTATION_ID — আপনি কোথায় উপস্থাপনা আইডি প্রদান করেছেন তা নির্দেশ করে। আপনি উপস্থাপনা URL থেকে এই আইডির মান পুনরুদ্ধার করতে পারেন।
  • PAGE_ID — আপনি কোথায় পৃষ্ঠা অবজেক্ট আইডি প্রদান করেছেন তা নির্দেশ করে। আপনি URL থেকে অথবা API রিড রিকোয়েস্ট ব্যবহার করে এর মান পুনরুদ্ধার করতে পারেন।
  • PAGE_ELEMENT_IDপৃষ্ঠার উপাদান অবজেক্ট আইডি কোথায় প্রদান করবেন তা নির্দেশ করে। আপনি যে উপাদানগুলি তৈরি করেন তার জন্য এই আইডিটি নির্দিষ্ট করতে পারেন ( কিছু বিধিনিষেধ সহ) অথবা স্লাইডস API-কে স্বয়ংক্রিয়ভাবে একটি তৈরি করার অনুমতি দিতে পারেন। API পঠনের অনুরোধের মাধ্যমে এলিমেন্ট আইডিগুলি পুনরুদ্ধার করা যেতে পারে।

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

একটি টেক্সট বক্সে একটি বুলেটযুক্ত তালিকা যোগ করুন

নিম্নলিখিত presentations.batchUpdate কোড নমুনাটি দেখায় কিভাবে PAGE_ELEMENT_ID দ্বারা নির্দিষ্ট একটি খালি টেক্সট বক্সে টেক্সট সন্নিবেশ করানোর জন্য InsertTextRequest পদ্ধতি ব্যবহার করতে হয়। এরপর নমুনাটি CreateParagraphBulletsRequest পদ্ধতি ব্যবহার করে সমস্ত টেক্সট বক্স টেক্সটকে একটি বুলেটযুক্ত তালিকায় রূপান্তর করে। তালিকার আইটেমগুলি \n অক্ষর দ্বারা পৃথক করা হয়, যখন ইন্ডেন্টেশন \t অক্ষর দ্বারা নিয়ন্ত্রিত হয়।

একটি উপস্থাপনা তৈরির অনুরোধ প্রোটোকলটি নিম্নরূপ:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "insertText": {
        "objectId": PAGE_ELEMENT_ID,
        "text": "My List\n\tItem 1\n\t\tItem 2\n\t\t\tItem 3",
        "insertionIndex": 0
      },
      "createParagraphBullets": {
        "objectId": PAGE_ELEMENT_ID,
        "bulletPreset": "BULLET_ARROW_DIAMOND_DISC",
        "textRange": {
          "type": "ALL"
        }
      }
    }
  ]
}

এই অনুরোধটি একটি বুলেটযুক্ত তালিকা তৈরি করতে পারে যা দেখতে এরকম:

বুলেটযুক্ত তালিকার রেসিপি ফলাফল।

একটি স্লাইডে একটি আকৃতি যোগ করুন

নিম্নলিখিত presentations.batchUpdate কোড নমুনাটি দেখায় কিভাবে PAGE_ID দ্বারা নির্দিষ্ট স্লাইডে একটি তরঙ্গ আকৃতি যোগ করার জন্য CreateShapeRequest পদ্ধতি ব্যবহার করতে হয়। এই অনুরোধটি আকৃতির ধরণ নির্দিষ্ট করে, তারপর স্লাইডে আকৃতিটিকে স্কেল করে এবং অবস্থান নির্ধারণ করে। তারপর এটি InsertTextRequest পদ্ধতি ব্যবহার করে সেই আকৃতিতে টেক্সট যোগ করে। অনুরোধটি লাইনের ID কে PAGE_ELEMENT_ID এ সেট করে।

স্লাইডে আকৃতি যোগ করার জন্য অনুরোধ প্রোটোকলটি নিম্নরূপ:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createShape": {
        "objectId": PAGE_ELEMENT_ID,
        "elementProperties": {
          "pageObjectId": PAGE_ID,
          "size": {
            "width": {
              "magnitude": 3000000,
              "unit": "EMU"
            },
            "height": {
              "magnitude": 3000000,
              "unit": "EMU"
            }
          },
          "transform": {
            "scaleX": 0.6807,
            "scaleY": 0.4585,
            "translateX": 6583050,
            "translateY": 1673950,
            "unit": "EMU"
          }
        },
        "shapeType": "WAVE"
      }
    },
    {
      "insertText": {
        "objectId": PAGE_ELEMENT_ID,
        "text": "My Wave Shape",
        "insertionIndex": 0
      }
    }
  ]
}

একটি স্লাইডে একটি ভিডিও যোগ করুন

নিম্নলিখিত presentations.batchUpdate কোড নমুনাটি দেখায় কিভাবে PAGE_ID দ্বারা নির্দিষ্ট স্লাইডে একটি ভিডিও এম্বেড করার জন্য CreateVideoRequest পদ্ধতি ব্যবহার করতে হয়। এই অনুরোধটি স্লাইডে ভিডিওটিকে স্কেল করে এবং অবস্থান নির্ধারণ করে এবং ভিডিওর ID কে PAGE_ELEMENT_ID এ সেট করে। উৎস ভিডিওর অনন্য শনাক্তকারী VIDEO_ID এ সেট করা আছে। উদাহরণস্বরূপ, https://www.youtube.com/watch?v=7U3axjORYZ0 এ থাকা YouTube ভিডিওটির ID 7U3axjORYZ0 রয়েছে।

স্লাইডে ভিডিও যোগ করার অনুরোধ প্রোটোকলটি নিম্নরূপ:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createVideo": {
        "objectId": PAGE_ELEMENT_ID,
        "elementProperties": {
          "pageObjectId": PAGE_ID,
          "size": {
            "width": {
              "magnitude": 12000,
              "unit": "EMU"
            },
            "height": {
              "magnitude": 9000,
              "unit": "EMU"
            }
          },
          "transform": {
            "scaleX": 381,
            "scaleY": 381,
            "translateX": 152400,
            "translateY": 152400,
            "unit": "EMU"
          }
        },
        "source": "YOUTUBE",
        "id": VIDEO_ID
      }
    }
  ]
}

একটি উপাদান কপি এবং সম্পাদনা করুন

নিম্নলিখিত presentations.batchUpdate কোড নমুনাটি দেখায় কিভাবে DuplicateObjectRequest পদ্ধতি ব্যবহার করে একটি বিদ্যমান আকার ( PAGE_ELEMENT_ID দ্বারা নির্দিষ্ট) নিতে হয় এবং একটি অনুলিপি ( COPY_ELEMENT_ID দ্বারা নির্দিষ্ট) তৈরি করতে হয়।

পরবর্তী অনুরোধগুলি ডুপ্লিকেট বস্তুতে নিম্নলিখিত পরিবর্তনগুলি করে:

  • পটভূমির রঙ LIGHT2 থিমের রঙে সেট করে।
  • কপিটি পৃষ্ঠার নীচে সরানো হয় (মূল আকৃতির অবস্থান থেকে)।
  • টেক্সট ফন্টকে ১৮-পয়েন্ট জর্জিয়াতে সেট করে।
  • "মাই শেপ কপি" পড়ার জন্য লেখাটি সম্পাদনা করে।

এখানে অনুরোধগুলিতে ফিল্ড মাস্ক ব্যবহার করা হয়েছে যাতে আকৃতির বৈশিষ্ট্যগুলি সংরক্ষণ করা যায় যা পরিবর্তিত হয় না (যেমন আউটলাইন স্টাইল)। ফিল্ড মাস্ক ব্যবহার করলে কর্মক্ষমতাও উন্নত হয়।

স্লাইড কপি করার বিষয়ে আরও তথ্যের জন্য, "স্লাইড কপি করুন" এর নমুনা দেখুন।

একটি উপাদান অনুলিপি এবং সম্পাদনা করার জন্য অনুরোধ প্রোটোকলটি নিম্নরূপ:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "duplicateObject": {
        "objectId": PAGE_ELEMENT_ID,
        "objectIds": {
          PAGE_ELEMENT_ID: COPY_ELEMENT_ID
        }
      }
    },
    {
      "updateShapeProperties": {
        "objectId": COPY_ELEMENT_ID,
        "fields": "shapeBackgroundFill.solidFill.color",
        "shapeProperties": {
          "shapeBackgroundFill": {
            "solidFill": {
              "color": {
                "themeColor": "LIGHT2"
              }
            }
          }
        }
      }
    },
    {
      "updatePageElementTransform": {
        "objectId": COPY_ELEMENT_ID,
        "applyMode": "RELATIVE",
        "transform": {
          "scaleX": 1,
          "scaleY": 1,
          "translateX": 0,
          "translateY": 1250000,
          "unit": "EMU"
        }
      }
    },
    {
      "updateTextStyle": {
        "objectId": COPY_ELEMENT_ID,
        "fields": "fontFamily,fontSize",
        "textRange": {
          "type": "ALL"
        },
        "style": {
          "fontFamily": "Georgia",
          "fontSize": {
            "magnitude": 18,
            "unit": "PT"
          }
        }
      }
    },
    {
      "deleteText": {
        "objectId": COPY_ELEMENT_ID,
        "textRange": {
          "type": "ALL"
        }
      }
    },
    {
      "insertText": {
        "objectId": COPY_ELEMENT_ID,
        "text": "My Shape Copy",
        "insertionIndex": 0
      }
    }
  ]
}

এই আপডেটগুলির পরে একটি আকৃতি এবং তার অনুলিপি কেমন দেখাবে তা এখানে দেওয়া হল:

একটি উপাদান রেসিপি ফলাফল অনুলিপি এবং সম্পাদনা করুন।

একটি ছবি বা ভিডিওর রূপরেখা সম্পাদনা করুন

নিম্নলিখিত presentations.batchUpdate কোড নমুনাটি দেখায় কিভাবে UpdateImagePropertiesRequest পদ্ধতি ব্যবহার করে IMAGE_ELEMENT_ID দ্বারা নির্দিষ্ট করা একটি ছবির রূপরেখার উপস্থিতি আপডেট করতে হয়। এটি VIDEO_ELEMENT_ID দ্বারা নির্দিষ্ট করা একটি এমবেডেড ভিডিওর রূপরেখার উপস্থিতি আপডেট করতে UpdateVideoPropertiesRequest পদ্ধতিও ব্যবহার করে।

অনুরোধগুলি বস্তুতে নিম্নলিখিত পরিবর্তনগুলি করে:

  • আংশিক স্বচ্ছতার সাথে ছবির রূপরেখার রঙ ACCENT5 থিম রঙে সেট করে।
  • ভিডিও আউটলাইনের রঙকে ACCENT1 থিম রঙে সেট করে, কোনও স্বচ্ছতা ছাড়াই।
  • উভয়ের জন্য রূপরেখার ওজন 3-পয়েন্টে সেট করে।
  • ছবির রূপরেখা শৈলীকে SOLID এ সেট করে।
  • ভিডিও আউটলাইন স্টাইলকে DASH_DOT এ সেট করে।

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

একটি ছবি বা ভিডিও আউটলাইন সম্পাদনা করার জন্য অনুরোধ প্রোটোকলটি নিম্নরূপ:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updateImageProperties": {
        "objectId": IMAGE_ELEMENT_ID,
        "fields": "outline",
        "imageProperties": {
          "outline": {
            "dashStyle": "SOLID",
            "outlineFill": {
              "solidFill": {
                "alpha": 0.8,
                "color": {
                  "themeColor": "ACCENT5"
                }
              }
            },
            "weight": {
              "magnitude": 3,
              "unit": "PT"
            }
          }
        }
      }
    },
    {
      "updateVideoProperties": {
        "objectId": VIDEO_ELEMENT_ID,
        "fields": "outline",
        "videoProperties": {
          "outline": {
            "dashStyle": "DASH_DOT",
            "outlineFill": {
              "solidFill": {
                "alpha": 0.8,
                "color": {
                  "themeColor": "ACCENT1"
                }
              }
            },
            "weight": {
              "magnitude": 3,
              "unit": "PT"
            }
          }
        }
      }
    }
  ]
}

এই আপডেটগুলির পরে একটি ছবি এবং এমবেডেড ভিডিও কেমন দেখাবে তা এখানে দেওয়া হল:

ছবি এবং ভিডিও রূপরেখা রেসিপি ফলাফল।

একটি আকৃতির রূপরেখা সম্পাদনা করুন

নিম্নলিখিত presentations.batchUpdate কোড নমুনাটি দেখায় কিভাবে UpdateShapePropertiesRequest পদ্ধতি ব্যবহার করে একটি বিদ্যমান আকৃতি ( PAGE_ELEMENT_ID দ্বারা নির্দিষ্ট) নিতে হয় এবং এর রূপরেখার চেহারা আপডেট করতে হয়।

অনুরোধগুলি বস্তুতে নিম্নলিখিত পরিবর্তনগুলি করে:

  • আংশিক স্বচ্ছতার সাথে ACCENT5 থিম রঙে রূপরেখার রঙ সেট করে।
  • আউটলাইনের ওজন ৩-পয়েন্টে সেট করে।
  • রূপরেখা শৈলীকে LONG_DASH এ সেট করে।

এখানে অনুরোধগুলি ফিল্ড মাস্ক ব্যবহার করে আকৃতির বৈশিষ্ট্যগুলি সংরক্ষণ করে যা পরিবর্তিত হয় না (যেমন আকৃতি পূরণের রঙ)। ফিল্ড মাস্ক ব্যবহার করলে কর্মক্ষমতাও উন্নত হয়।

একটি আকৃতির রূপরেখা সম্পাদনা করার জন্য অনুরোধ প্রোটোকলটি নিম্নরূপ:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updateShapeProperties": {
        "objectId": PAGE_ELEMENT_ID,
        "fields": "outline",
        "shapeProperties": {
          "outline": {
            "dashStyle": "LONG_DASH",
            "outlineFill": {
              "solidFill": {
                "alpha": 0.6,
                "color": {
                  "themeColor": "ACCENT5"
                }
              }
            },
            "weight": {
              "magnitude": 3,
              "unit": "PT"
            }
          }
        }
      }
    }
  ]
}

এই আপডেটগুলির পরে একটি আকৃতি কেমন দেখাতে পারে তা এখানে দেওয়া হল:

রূপরেখা রেসিপি ফলাফল সম্পাদনা করুন।

টেক্সটকে একটি আকৃতি বা টেক্সট বক্সে ফরম্যাট করুন

নিম্নলিখিত presentations.batchUpdate কোড নমুনাটি দেখায় কিভাবে UpdateTextStyleRequest পদ্ধতি ব্যবহার করে একটি বিদ্যমান আকৃতি ( PAGE_ELEMENT_ID দ্বারা নির্দিষ্ট) নিতে হয় এবং এর টেক্সটের চেহারা আপডেট করতে হয়।

অনুরোধগুলি বস্তুতে নিম্নলিখিত পরিবর্তনগুলি করে:

  • টেক্সটের রঙ ACCENT5 থিমের রঙে সেট করে।
  • ফন্টটিকে বোল্ড, ইটালিক ১৮-পয়েন্ট কর্সিভাতে সেট করে।
  • লেখার উপর আন্ডারলাইন করে।

এখানে অনুরোধগুলিতে ফিল্ড মাস্ক ব্যবহার করা হয়েছে যাতে টেক্সট স্টাইলের বৈশিষ্ট্যগুলি সংরক্ষণ করা যায় না (যেমন ব্যাকগ্রাউন্ড কালার, লিঙ্ক, অথবা বেসলাইন অফসেট)। ফিল্ড মাস্ক ব্যবহার করলে কর্মক্ষমতাও উন্নত হয়।

একটি আকৃতি বা টেক্সট বক্সে টেক্সট ফরম্যাট করার জন্য অনুরোধ প্রোটোকলটি নিম্নরূপ:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updateTextStyle": {
        "objectId": PAGE_ELEMENT_ID,
        "fields": "foregroundColor,bold,italic,fontFamily,fontSize,underline",
        "style": {
          "foregroundColor": {
            "opaqueColor": {
              "themeColor": "ACCENT5"
            }
          },
          "bold": true,
          "italic": true,
          "underline": true,
          "fontFamily": "Corsiva",
          "fontSize": {
            "magnitude": 18,
            "unit": "PT"
          }
        },
        "textRange": {
          "type": "ALL"
        }
      }
    }
  ]
}

এই আপডেটগুলির পরে আকৃতির টেক্সট কেমন দেখাবে তা এখানে দেওয়া হল:

টেক্সট ফরম্যাট রেসিপি-ফলাফল সম্পাদনা করুন।

গুগল শিট থেকে একটি চার্ট আমদানি করুন

নিম্নলিখিত presentations.batchUpdate কোড নমুনাটি দেখায় কিভাবে CreateSheetsChartRequest পদ্ধতি ব্যবহার করে একটি শীট থেকে একটি চার্ট আমদানি করতে হয় এবং PAGE_ID দ্বারা নির্দিষ্ট একটি স্লাইডে রাখতে হয়।

অনুরোধটির জন্য স্প্রেডশিট আইডি ( SPREADSHEET_ID দ্বারা নির্দিষ্ট করা) এবং স্প্রেডশিট চার্ট আইডি ( SPREADSHEET_CHART_ID দ্বারা নির্দিষ্ট করা) প্রয়োজন। স্লাইড উপস্থাপনার মধ্যে চার্ট আইডি PRESENTATION_CHART_ID দ্বারা নির্দিষ্ট করা হয়েছে।

অনুরোধটি স্লাইড চার্টের LinkingMode LINKED তে সেট করে যাতে সোর্স স্প্রেডশিটে থাকা চার্টটি আপডেট করা হলে আপনি এমবেডেড চার্টটি আপডেট করতে পারেন।

শীট থেকে চার্ট আমদানি করার জন্য অনুরোধ প্রোটোকলটি নিম্নরূপ:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createSheetsChart": {
        "objectId": PRESENTATION_CHART_ID,
        "spreadsheetId": SPREADSHEET_ID,
        "chartId": SPREADSHEET_CHART_ID,
        "linkingMode": "LINKED",
        "elementProperties": {
          "pageObjectId": PAGE_ID,
          "size": {
            "width": {
              "magnitude": 4000000,
              "unit": "EMU"
            },
            "height": {
              "magnitude": 4000000,
              "unit": "EMU"
            }
          },
          "transform": {
            "scaleX": 1,
            "scaleY": 1,
            "translateX": 100000,
            "translateY": 100000,
            "unit": "EMU"
          }
      }
    }
  ]
}

Sheets থেকে একটি চার্ট রিফ্রেশ করুন

নিম্নলিখিত presentations.batchUpdate কোড নমুনাটি দেখায় যে কীভাবে RefreshSheetsChartRequest পদ্ধতি ব্যবহার করে একটি উপস্থাপনায় লিঙ্ক করা চার্ট রিফ্রেশ করতে হয়, Sheets সোর্স স্প্রেডশিট থেকে সেই চার্টের সর্বশেষ সংস্করণ দিয়ে এটি প্রতিস্থাপন করতে হয়। অনুরোধের জন্য Slides উপস্থাপনার মধ্যে চার্ট আইডি প্রয়োজন ( PRESENTATION_CHART_ID দ্বারা নির্দিষ্ট করা হয়েছে)।

শীট থেকে চার্ট রিফ্রেশ করার জন্য অনুরোধ প্রোটোকলটি নিম্নরূপ:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "refreshSheetsChart": {
        "objectId": PRESENTATION_CHART_ID
      }
    }
  ]
}