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

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, File रिसॉर्स के आईडी से मेल खाता है.

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

पेज

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

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

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

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

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

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

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

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

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

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

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