परिचय

Google Slides API से, आपको Google Slides प्रज़ेंटेशन बनाने और उनमें बदलाव करने की सुविधा मिलती है.

ऐप्लिकेशन, Google Slides API के साथ इंटिग्रेट हो सकते हैं. इससे उपयोगकर्ता और सिस्टम से मिले डेटा का इस्तेमाल करके, खूबसूरत स्लाइड डेक अपने-आप बन जाते हैं. उदाहरण के लिए, किसी डेटाबेस में मौजूद ग्राहक की जानकारी का इस्तेमाल करके, उन्हें पहले से डिज़ाइन किए गए टेंप्लेट और कॉन्फ़िगरेशन के चुने गए विकल्पों के साथ जोड़ा जा सकता है. इससे, प्रज़ेंटेशन को मैन्युअल तौर पर बनाने में जितना समय लगता है, उतना कम समय में उसे तैयार किया जा सकता है.

एपीआई की खास जानकारी

प्रज़ेंटेशन कलेक्शन में आपको ऐसे तरीके मिलते हैं जिनकी मदद से प्रज़ेंटेशन में एलिमेंट पाए जा सकते हैं और उन्हें अपडेट किया जा सकता है.

Slides API का इस्तेमाल करने पर, हो सकता है कि आपका ज़्यादातर काम प्रज़ेंटेशन बनाना और उन्हें अपडेट करना हो. ऐसा करने के लिए, batchUpdate तरीके का इस्तेमाल किया जा सकता है. इस तरीके में, अनुरोध करने के लिए ऑब्जेक्ट की एक सूची ली जाती है, जिससे ये काम किए जा सकते हैं:

  • स्लाइड बनाएं
  • स्लाइड में आकार या टेबल जैसे एलिमेंट जोड़ना
  • टेक्स्ट शामिल करना, बदलना, और हटाना
  • एलिमेंट में ट्रांसफ़ॉर्म की सुविधा का इस्तेमाल करना
  • स्लाइड का क्रम बदलना

ज़्यादा जानकारी के लिए, बैच अपडेट देखें. एपीआई का इस्तेमाल करने के तरीके के आसान उदाहरण के लिए, 'शुरू करें' गाइड देखें.

प्रज़ेंटेशन का स्ट्रक्चर

Slides API में प्रज़ेंटेशन में पेज होते हैं, जिनमें पेज के एलिमेंट होते हैं.

किसी प्रज़ेंटेशन का आईडी, यूआरएल से लिया जा सकता है:

https://docs.google.com/presentation/d/presentationId/edit

प्रज़ेंटेशन आईडी एक ऐसी स्ट्रिंग होती है जिसमें अक्षर, संख्याएं, और कुछ खास वर्ण होते हैं. Google Sheets के यूआरएल से प्रज़ेंटेशन आईडी एक्सट्रैक्ट करने के लिए, रेगुलर एक्सप्रेशन का इस्तेमाल किया जा सकता है:

/presentation/d/([a-zA-Z0-9-_]+)

अगर आपको Drive API के बारे में जानकारी है, तो presentationId फ़ाइल रिसॉर्स के आईडी से जुड़ा होता है.

पेज और पेज पर मौजूद एलिमेंट की पहचान, ऑब्जेक्ट आईडी से की जाती है.

Pages

Google Slides में इस तरह के पेज होते हैं:

मास्टर डिग्री स्लाइड मास्टर इस मास्टर का इस्तेमाल करने वाली सभी स्लाइड में दिखने वाले डिफ़ॉल्ट टेक्स्ट स्टाइल, बैकग्राउंड, और पेज के एलिमेंट तय करते हैं. सभी स्लाइड पर दिखने वाले पेज एलिमेंट को मास्टर में जोड़ा जाना चाहिए. ज़्यादातर प्रज़ेंटेशन में एक मास्टर होता है, लेकिन कुछ प्रज़ेंटेशन में कई या एक भी मास्टर नहीं होता.
लेआउट लेआउट, लेआउट का इस्तेमाल करके स्लाइड पर डिफ़ॉल्ट रूप से पेज एलिमेंट को व्यवस्थित करने के तरीके के लिए, टेंप्लेट के तौर पर काम करते हैं. हर लेआउट एक मास्टर से जुड़ा होता है.
स्लाइड इन पेजों में वह कॉन्टेंट मौजूद है जिसे अपनी ऑडियंस को दिखाया जा रहा है. ज़्यादातर स्लाइड मास्टर और लेआउट पर आधारित होती हैं. आपके पास यह तय करने का विकल्प होता है कि हर स्लाइड बनाते समय, कौनसा लेआउट इस्तेमाल किया जाए.
ज़रूरी जानकारी इन पेजों में प्रज़ेंटेशन के हैंडआउट का कॉन्टेंट मौजूद होता है. इसमें एक आकार शामिल होता है, जिसमें स्लाइड के प्रज़ेंटर के नोट शामिल होते हैं. हर स्लाइड में एक नोट से जुड़ा पेज होता है. Slides API की मदद से, सिर्फ़ प्रज़ेंटर के नोट के आकार में मौजूद टेक्स्ट में बदलाव किया जा सकता है.
नोट मास्टर नोट मास्टर, सभी नोट पेजों के लिए डिफ़ॉल्ट टेक्स्ट स्टाइल और पेज एलिमेंट को तय करते हैं. नोट मास्टर, Slides API में सिर्फ़ पढ़ने के लिए होते हैं.

पेज एलिमेंट

पेज एलिमेंट, ऐसे विज़ुअल कॉम्पोनेंट होते हैं जो पेजों पर मौजूद होते हैं. एपीआई कई तरह के पेज एलिमेंट दिखाता है:

ग्रुप पेज एलिमेंट का एक सेट, जिसे एक व्यक्तिगत इकाई माना जाता है. उन्हें एक साथ ले जाया जा सकता है, स्केल किया जा सकता है, और घुमाया जा सकता है.
आकार एक सादा विज़ुअल ऑब्जेक्ट, जैसे कि रेक्टैंगल, एलिप्स, और टेक्स्ट बॉक्स. आकार में टेक्स्ट हो सकता है, इसलिए स्लाइड बनाने के लिए अक्सर ये पेज एलिमेंट इस्तेमाल किए जाते हैं.
Image Slides में इंपोर्ट किया गया ग्राफ़िक.
वीडियो Slides में इंपोर्ट किया गया वीडियो.
लाइन कोई विज़ुअल लाइन, कर्व या कनेक्टर.
टेबल कॉन्टेंट का ग्रिड.
WordArt विज़ुअल टेक्स्ट एलिमेंट, जो आकार की तरह काम करता है.
SheetsChart Google Sheets से Slides में इंपोर्ट किया गया चार्ट.

बैच अपडेट

batchUpdate तरीके की मदद से, किसी प्रज़ेंटेशन के कई पहलुओं को अपडेट किया जा सकता है. बदलावों को एक बैच में ग्रुप में रखा जाता है, ताकि कोई अनुरोध फ़ेल होने पर, कोई दूसरा (संभावित रूप से निर्भर) बदलाव न लिखे जाएं.

batchUpdate तरीका, एक या उससे ज़्यादा अनुरोध ऑब्जेक्ट को लेकर काम करता है. हर ऑब्जेक्ट को करने के लिए एक ही तरह के अनुरोध के बारे में बताया जाता है. हमारे पास कई तरह के अनुरोध होते हैं. यहां अलग-अलग कैटगरी में बांटे गए अनुरोधों के टाइप की जानकारी दी गई है.

Slides के साथ काम करना: CreateSlideRequest
UpdateSlidesPositionRequest
DuplicateObjectRequest
UpdatePagePropertiesRequest
DeleteObjectRequest
पेज एलिमेंट का इस्तेमाल करना: CreateShapeRequest
CreateLineRequest
UpdatePageElementTransformRequest
UpdateShapePropertiesRequest
DuplicateObjectRequest
DeleteObjectRequest
टेबल के साथ काम करना: CreateTableRequest
InsertTableRowsRequest
InsertTableColumnsRequest
DeleteTableRowRequest
DeleteTableColumnRequest
UpdateTableRowPropertiesRequest
UpdateTableColumnPropertiesRequest
UpdateTableBorderPropertiesRequest
UpdateTableCellPropertiesRequest
MergeTableCellsRequest
UnmergeTableCellsRequest
DeleteObjectRequest
चार्ट के साथ काम करना: CreateSheetsChartRequest
RefreshSheetsChartRequest
ReplaceAllShapesWithSheetsChartRequest
DeleteObjectRequest
इमेज और वीडियो के साथ काम करना: CreateImageRequest
CreateVideoRequest
UpdateImagePropertiesRequest
UpdateVideoPropertiesRequest
ReplaceAllShapesWithImageRequest
DuplicateObjectRequest
DeleteObjectRequest
टेक्स्ट का इस्तेमाल करना: InsertTextRequest
DeleteTextRequest
ReplaceAllTextRequest
CreateParagraphBulletsRequest
DeleteParagraphBulletsRequest
UpdateTextStyleRequest
UpdateParagraphStyleRequest

batchUpdate तरीका, रिस्पॉन्स का मुख्य हिस्सा दिखाता है. इसमें हर अनुरोध के लिए, जवाब शामिल होता है. हर रिस्पॉन्स का इंडेक्स उसी इंडेक्स में होता है जो इससे जुड़े अनुरोध का होता है. जिन अनुरोधों के लिए कोई रिस्पॉन्स नहीं दिया जाता, उनके लिए उस इंडेक्स में कोई जवाब नहीं होता. आम तौर पर, कई Create अनुरोधों के जवाब होते हैं, ताकि आपको जोड़े गए नए ऑब्जेक्ट का आईडी पता हो.

ऑब्जेक्ट आईडी के साथ काम करना

Slides API में प्रज़ेंटेशन में पेज और पेज एलिमेंट शामिल होते हैं. इन ऑब्जेक्ट में एक Object ID स्ट्रिंग होती है, जो प्रज़ेंटेशन में यूनीक होती है.

बनाए जाने पर ऑब्जेक्ट आईडी तय करना

batchUpdate तरीके का इस्तेमाल करके पेज या पेज एलिमेंट बनाते समय, आपके पास नए ऑब्जेक्ट के लिए ऑब्जेक्ट आईडी तय करने का विकल्प भी होता है. हालांकि, ऐसा करना ज़रूरी नहीं है. इससे आपको कोई ऑब्जेक्ट बनाने और उसी बैचUpdate अनुरोध में उसमें बदलाव करने की सुविधा मिलती है. ऐसा करके, Slides API पर कॉल की संख्या कम की जा सकती है और कोटे का इस्तेमाल कम किया जा सकता है.

ज़्यादातर मामलों में, हमारा सुझाव है कि आप रैंडम ऑब्जेक्ट आईडी जनरेट करें. उदाहरण के लिए, अगर Java का इस्तेमाल किया जा रहा है, तो java.util.UUID.randomUUID().toString() आपके लिए सही है.

जब आपका ऐप्लिकेशन लंबे समय तक ऑब्जेक्ट को ट्रैक करना चाहता हो, तो ऑब्जेक्ट आईडी पर भरोसा न करें, क्योंकि यह बदल सकता है. ज़्यादा जानकारी के लिए, यहां दिया गया सेक्शन देखें.

ऑब्जेक्ट आईडी का इस्तेमाल किए बिना ऑब्जेक्ट पर नज़र रखना

Slides के एपीआई के लिए अनुरोध करने पर, ऑब्जेक्ट आईडी को आम तौर पर सुरक्षित रखा जाता है. (सभी अपवादों के बारे में, तरीके के रेफ़रंस दस्तावेज़ में बताया गया है.) Drive API की मदद से पूरे प्रज़ेंटेशन की कॉपी बनाने पर, ऑब्जेक्ट आईडी भी सुरक्षित रहते हैं.

हालांकि, Slides के यूज़र इंटरफ़ेस (यूआई) में प्रज़ेंटेशन बदलने के बाद, ऑब्जेक्ट आईडी में कोई बदलाव नहीं किया जा सकता. उदाहरण के लिए, अगर कोई व्यक्ति किसी पेज एलिमेंट को कॉपी करके चिपकाने के लिए, Slides के यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करता है और मूल एलिमेंट को मिटा देता है, तो पेज एलिमेंट के लिए अब एक नया यूनीक आईडी दिया जाएगा. साथ ही, एपीआई के ज़रिए पहले उपलब्ध कराया गया आईडी अब मिट जाएगा. इस वजह से, हमारा सुझाव है कि आप अपने ऐप्लिकेशन के स्टोरेज में ऑब्जेक्ट आईडी सेव न करें. इसके बजाय, आपको प्रज़ेंटेशन में टेक्स्ट कॉन्टेंट या वैकल्पिक टेक्स्ट के ज़रिए ऑब्जेक्ट ढूंढना चाहिए.

नए बनाए गए प्रज़ेंटेशन में आम तौर पर डिफ़ॉल्ट स्लाइड, मास्टर, और टेक्स्ट बॉक्स के लिए आईडी के एक जैसे सेट का इस्तेमाल किया जाता है. ये आईडी समय के साथ बदल सकते हैं, इसलिए हम यह सुझाव नहीं देते हैं कि आप इस सुविधा पर भरोसा करें. इसके बजाय, उन एलिमेंट को खोजें जिनमें आपको प्रज़ेंटेशन ऑब्जेक्ट का इस्तेमाल करके बदलाव करना है. ये ऑब्जेक्ट, create() या get() को कॉल करने पर मिलते हैं.