एलिमेंट से जुड़ी कार्रवाइयां

Google Slides API की मदद से, PageElement संसाधन बनाए जा सकते हैं और उनमें बदलाव किए जा सकते हैं. इनमें टेक्स्ट बॉक्स, इमेज, टेबल, सामान्य आकार, लाइनें, और एम्बेड किए गए वीडियो शामिल हैं. इस पेज पर दिए गए उदाहरणों में, presentations.batchUpdate तरीके का इस्तेमाल करके किए गए कुछ सामान्य पेज एलिमेंट के बारे में बताया गया है.

इन उदाहरण में नीचे दिए गए वैरिएबल का इस्तेमाल किया गया है:

  • PRESENTATION_ID—यह बताता है कि आपने प्रज़ेंटेशन आईडी कहां दिया है. प्रज़ेंटेशन यूआरएल से इस आईडी की वैल्यू ली जा सकती है.
  • PAGE_ID—यह बताता है कि आपने पेज ऑब्जेक्ट आईडी कहां दिया है. यूआरएल से या एपीआई रीड अनुरोध का इस्तेमाल करके, इसके लिए वैल्यू फिर से पाई जा सकती है.
  • PAGE_ELEMENT_ID—यह बताता है कि आपने पेज एलिमेंट ऑब्जेक्ट आईडी कहां दिया है. इस आईडी को, आपने जो एलिमेंट बनाया है (कुछ पाबंदियों के साथ) के लिए तय किया जा सकता है या Slides API को अपने-आप बनने की अनुमति दी जा सकती है. एलिमेंट आईडी, एपीआई रीड अनुरोध के ज़रिए वापस पाए जा सकते हैं.

इन उदाहरणों को एचटीटीपी अनुरोधों के तौर पर दिखाया जाता है. ऐसा इसलिए किया जाता है, ताकि किसी एक भाषा का इस्तेमाल न किया जा सके. Google API क्लाइंट लाइब्रेरी का इस्तेमाल करके, अलग-अलग भाषाओं में बैच अपडेट लागू करने का तरीका जानने के लिए, ये गाइड पढ़ें:

टेक्स्ट बॉक्स में बुलेट वाली सूची जोड़ना

यहां दिया गया presentations.batchUpdate कोड सैंपल बताता है कि InsertTextRequest PAGE_ELEMENT_ID से बताए गए खाली टेक्स्ट बॉक्स में टेक्स्ट डालने के लिए, कौनसा तरीका इस्तेमाल किया जा सकता है. इसके बाद, सैंपल, टेक्स्ट बॉक्स के सभी टेक्स्ट को बुलेट वाली सूची में बदलने के लिए, 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 तरीके का इस्तेमाल करता है. अनुरोध करने पर, लाइन का आईडी 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 कोड सैंपल में, CreateVideoRequest वीडियो को PAGE_ID के बताए गए स्लाइड में एम्बेड करने के तरीके का इस्तेमाल करने का तरीका बताया गया है. यह अनुरोध, स्लाइड में वीडियो को स्केल करता है और उसकी जगह तय करता है. साथ ही, वीडियो के आईडी को PAGE_ELEMENT_ID पर सेट करता है. सोर्स वीडियो का यूनीक आइडेंटिफ़ायर, VIDEO_ID पर सेट है. उदाहरण के लिए, https://www.youtube.com/watch?v=7U3axjORYZ0 पर मौजूद YouTube वीडियो का आईडी 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 कोड सैंपल में बताया गया है कि किसी मौजूदा साइज़ (PAGE_ELEMENT_ID में बताया गया है) को लेने और उसकी कॉपी बनाने (COPY_ELEMENT_ID में बताया गया है) के लिए, DuplicateObjectRequest तरीके का इस्तेमाल कैसे किया जाता है.

इसके बाद, बाद के अनुरोध डुप्लीकेट ऑब्जेक्ट में ये बदलाव करते हैं:

  • इससे बैकग्राउंड के रंग को LIGHT2 की थीम के रंग पर सेट किया जा सकता है.
  • कॉपी को पेज में नीचे ले जाता है (मूल आकार की स्थिति से).
  • टेक्स्ट के फ़ॉन्ट को 18-pt जॉर्जिया पर सेट करता है.
  • "मेरे आकार की कॉपी" पढ़ने के लिए टेक्स्ट में बदलाव करता है.

यहां दिए गए अनुरोधों में, उन आकार प्रॉपर्टी को सुरक्षित रखने के लिए फ़ील्ड मास्क का इस्तेमाल किया जाता है जिन्हें बदला नहीं जाता. जैसे, आउटलाइन स्टाइल. फ़ील्ड मास्क का इस्तेमाल करने से भी परफ़ॉर्मेंस बेहतर होती है.

किसी स्लाइड को कॉपी करने के बारे में ज़्यादा जानकारी के लिए, स्लाइड कॉपी करें सैंपल देखें.

किसी एलिमेंट को कॉपी करने और उसमें बदलाव करने के लिए, अनुरोध का प्रोटोकॉल यहां दिया गया है:

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 में बताई गई इमेज को आउटलाइन वाली इमेज के तौर पर दिखाने का तरीका कैसे इस्तेमाल करें. इसमें, एम्बेड किए गए वीडियो की आउटलाइन को अपडेट करने के लिए भी UpdateVideoPropertiesRequest तरीके का इस्तेमाल किया जाता है. इसके लिए, VIDEO_ELEMENT_ID का इस्तेमाल किया गया है.

अनुरोध, ऑब्जेक्ट में निम्न परिवर्तन करते हैं:

  • आंशिक पारदर्शिता का इस्तेमाल करके इमेज के आउटलाइन के रंग को ACCENT5 थीम के रंग पर सेट करता है.
  • इससे वीडियो की आउटलाइन को बिना किसी पारदर्शिता के ACCENT1 की थीम के रंग में सेट किया जा सकता है.
  • दोनों के लिए आउटलाइन वेट को 3-पॉइंट पर सेट करता है.
  • इमेज की आउटलाइन की स्टाइल को SOLID पर सेट करता है.
  • वीडियो की आउटलाइन स्टाइल को DASH_DOT पर सेट करता है.

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

किसी इमेज या वीडियो की आउटलाइन में बदलाव करने के लिए, अनुरोध का प्रोटोकॉल नीचे दिया गया है:

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 थीम के रंग पर आउटलाइन का रंग सेट करता है.
  • आउटलाइन की मोटाई 3-पॉइंट पर सेट करता है.
  • आउटलाइन स्टाइल को 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 कोड सैंपल में बताया गया है कि मौजूदा साइज़ (PAGE_ELEMENT_ID में बताया गया है) लेने के लिए, UpdateTextStyleRequest तरीके का इस्तेमाल कैसे किया जाता है. साथ ही, यह टेक्स्ट के लुक को भी अपडेट करता है.

अनुरोध, ऑब्जेक्ट में निम्न परिवर्तन करते हैं:

  • इससे टेक्स्ट के रंग को ACCENT5 की थीम के रंग पर सेट किया जा सकता है.
  • फ़ॉन्ट को बोल्ड, 18-pt वाले Corsiva के इटैलिक टेक्स्ट पर सेट करता है.
  • टेक्स्ट को अंडरलाइन करता है.

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

किसी आकार या टेक्स्ट बॉक्स में टेक्स्ट को फ़ॉर्मैट करने के लिए, अनुरोध प्रोटोकॉल नीचे दिया गया है:

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"
        }
      }
    }
  ]
}

यहां बताया गया है कि इन अपडेट के बाद आकार टेक्स्ट कैसा दिखेगा:

टेक्स्ट फ़ॉर्मैट वाली रेसिपी के नतीजे में
बदलाव करें.

Google Sheets से चार्ट इंपोर्ट करना

यहां दिया गया presentations.batchUpdate कोड सैंपल में बताया गया है कि CreateSheetsChartRequest किसी शीट से चार्ट को इंपोर्ट करने और उसे स्लाइड पर रखने के लिए, PAGE_ID के बताए गए तरीके का इस्तेमाल कैसे किया जाता है.

इस अनुरोध के लिए, स्प्रेडशीट आईडी (SPREADSHEET_ID में बताया गया) और स्प्रेडशीट चार्ट आईडी (SPREADSHEET_CHART_ID में बताया गया) की ज़रूरत होती है. Slides प्रज़ेंटेशन में चार्ट आईडी, PRESENTATION_CHART_ID में दिया गया है.

अनुरोध करने पर, Slides के चार्ट में मौजूद LinkingMode को LINKED पर भी सेट कर दिया जाएगा. इससे, सोर्स स्प्रेडशीट पर मौजूद चार्ट को अपडेट करने पर, एम्बेड किए गए चार्ट को अपडेट किया जा सकेगा.

Sheets से चार्ट इंपोर्ट करने के लिए, अनुरोध प्रोटोकॉल यहां दिया गया है:

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 में बताया गया है).

Sheets से चार्ट को रीफ़्रेश करने के लिए अनुरोध प्रोटोकॉल नीचे दिया गया है:

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