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

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 कोड सैंपल में, CreateShapeRequest तरीके का इस्तेमाल करके, PAGE_ID से तय की गई स्लाइड में वेव शेप जोड़ने का तरीका बताया गया है. इस अनुरोध में, शेप का टाइप तय किया जाता है. इसके बाद, स्लाइड में शेप को स्केल किया जाता है और उसकी पोज़िशन तय की जाती है. इसके बाद, 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 कोड सैंपल में, DuplicateObjectRequest तरीके का इस्तेमाल करके, PAGE_ELEMENT_ID से तय किए गए मौजूदा शेप की कॉपी बनाने का तरीका बताया गया है. इस कॉपी को COPY_ELEMENT_ID से तय किया जाता है.

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

  • बैकग्राउंड का रंग, LIGHT2 थीम के रंग पर सेट किया जाता है.
  • कॉपी को पेज पर नीचे की ओर ले जाया जाता है. यह ओरिजनल शेप की पोज़िशन से नीचे होती है.
  • टेक्स्ट का फ़ॉन्ट, 18-पीटी जॉर्जिया पर सेट किया जाता है.
  • टेक्स्ट में बदलाव करके, उसे "My Shape Copy" पर सेट किया जाता है.

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

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

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

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 के इस कोड सैंपल में, UpdateTextStyleRequest तरीके का इस्तेमाल करके, PAGE_ELEMENT_ID) से तय किए गए मौजूदा शेप में मौजूद टेक्स्ट के दिखने के तरीके को अपडेट करने का तरीका बताया गया है.

अनुरोधों में, ऑब्जेक्ट में ये बदलाव किए जाते हैं:

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

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

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

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 से चार्ट इंपोर्ट करना

The following 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 से चार्ट रीफ़्रेश करना

The following 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
      }
    }
  ]
}