परिचय

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, फ़ाइल संसाधन के आईडी से जुड़ा होता है.

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

पेज

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

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

पेज एलिमेंट

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

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

एक साथ कई अपडेट करना

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

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

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 में मौजूद प्रज़ेंटेशन, पेजों और पेज एलिमेंट से बना होता है. इन ऑब्जेक्ट में एक ऑब्जेक्ट आईडी स्ट्रिंग शामिल होती है, जो किसी प्रज़ेंटेशन में यूनीक होती है.

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

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

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

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

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

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

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

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