शुरुआती जानकारी

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

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

एपीआई के बारे में खास जानकारी

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

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

  • स्लाइड बनाएं
  • स्लाइड में एलिमेंट जोड़ें. जैसे, शेप या टेबल
  • टेक्स्ट जोड़ें, बदलें, और हटाएं
  • एलिमेंट पर ट्रांसफ़ॉर्म लागू करें
  • स्लाइड का क्रम बदलना

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

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

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

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

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

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

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

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

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