Pisanie podstawowe

Interfejs Google Slides API umożliwia dodawanie i modyfikowanie elementów na stronach prezentacji. Przykłady na tej stronie pokazują, jak wykonywać typowe operacje odczytu za pomocą metody presentations.batchUpdate.

W tych przykładach używane są te zmienne:

  • PRESENTATION_ID – wskazuje, gdzie należy podać identyfikator prezentacji. Wartość tego identyfikatora możesz znaleźć w adresie URL prezentacji.
  • PAGE_ID – wskazuje, gdzie należy podać identyfikator obiektu strony. Wartość tego identyfikatora możesz pobrać z adresu URL lub za pomocą żądania odczytu interfejsu API.
  • PAGE_ELEMENT_ID – wskazuje, gdzie należy podać identyfikator obiektu elementu strony. Możesz określić ten identyfikator dla tworzonych elementów (z pewnymi ograniczeniami) lub pozwolić interfejsowi Slides API na automatyczne utworzenie identyfikatora. Identyfikatory elementów można pobrać za pomocą żądania odczytu interfejsu API.

Te przykłady są przedstawione jako żądania HTTP, aby były niezależne od języka. Aby dowiedzieć się jak wdrożyć aktualizację zbiorczą w różnych językach za pomocą bibliotek klienta interfejsu Google API, przeczytaj artykuł Dodawanie kształtów i tekstu.

Dodawanie pola tekstowego do slajdu

Ten przykładowy kod presentations.batchUpdate pokazuje, jak użyć metody CreateShapeRequest , aby dodać nowe pole tekstowe (zawierające ciąg znaków "My Added Text Box") do slajdu określonego przez PAGE_ID. W treści żądania określono 2 żądania – jedno do utworzenia kształtu pola tekstowego (o określonym rozmiarze i położeniu), a drugie do wstawienia do niego tekstu.

Pierwsze żądanie określa identyfikator obiektu do użycia w przypadku pola tekstowego. Dzięki temu drugie żądanie może go użyć w tym samym wywołaniu interfejsu API, co zmniejsza obciążenie.

Oto protokół żądania dodania pola tekstowego do slajdu:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createShape": {
        "objectId": PAGE_ELEMENT_ID,
        "shapeType": "TEXT_BOX",
        "elementProperties": {
          "pageObjectId":  PAGE_ID,
          "size": {
            "width": {
              "magnitude": 150,
              "unit": "PT"
            },
            "height": {
              "magnitude": 50,
              "unit": "PT"
            }
          },
          "transform": {
            "scaleX": 1,
            "scaleY": 1,
            "translateX": 200,
            "translateY": 100,
            "unit": "PT"
          }
        }
      }
    },
    {
      "insertText": {
        "objectId": PAGE_ELEMENT_ID,
        "text": "My Added Text Box",
        "insertionIndex": 0
      }
    }
  ]
}

Dodawanie obrazu do slajdu

Ten przykładowy presentations.batchUpdate kod pokazuje, jak użyć metody CreateImageRequest , aby dodać obraz do slajdu określonego przez PAGE_ID. Interfejs API pobiera obraz za pomocą IMAGE_URL. To żądanie skaluje też obraz i umieszcza go na slajdzie.

Oto protokół żądania dodania obrazu do slajdu:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createImage": {
        "url": IMAGE_URL,
        "elementProperties": {
          "pageObjectId":  PAGE_ID,
          "size": {
            "width": {
              "magnitude": 30,
              "unit": "PT"
            },
            "height": {
              "magnitude": 30,
              "unit": "PT"
            }
          },
          "transform": {
            "scaleX": 1,
            "scaleY": 1,
            "translateX": 200,
            "translateY": 100,
            "unit": "PT"
          }
        }
      }
    }
  ]
}

Usuwanie strony lub elementu strony

Ten przykładowy kod presentations.batchUpdate pokazuje, jak użyć metody DeleteObjectRequest , aby usunąć element strony określony przez PAGE_ELEMENT_ID i slajd określony przez PAGE_ID za pomocą 2 oddzielnych żądań.

Oto protokół żądania usunięcia strony lub elementu strony:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "deleteObject": {
        "objectId": PAGE_ELEMENT_ID
      },
      "deleteObject": {
        "objectId":  PAGE_ID
      }
    }
  ]
}

Edytowanie tekstu w określonym kształcie

Ten przykładowy kod presentations.batchUpdate pokazuje, jak użyć metody DeleteTextRequest , aby zastąpić część tekstu znajdującego się w kształcie określonym przez PAGE_ELEMENT_ID. Aby to zrobić, najpierw usuń tekst za pomocą indeksu startIndex (liczonego od zera), a następnie wstaw w to miejsce nowy tekst. W tym przykładzie oryginalny ciąg znaków „My Shape Text: ????” jest zastępowany ciągiem „My Shape Text: Trapezoid”.

To żądanie dotyczy tylko tekstu w określonym kształcie. Aby zastąpić tekst w całej prezentacji, użyj ReplaceAllTextRequest metody.

Oto protokół żądania edytowania tekstu w określonym kształcie:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "deleteText": {
        "objectId": PAGE_ELEMENT_ID,
        "textRange": {
          "type": "FROM_START_INDEX",
          "startIndex": 15
        }
      }
    },
    {
      "insertText": {
        "objectId": PAGE_ELEMENT_ID,
        "text": "Trapezoid",
        "insertionIndex": 15
      }
    }
  ]
}

Zastępowanie tagu kształtu obrazem

Tagi to pola tekstowe lub kształty z unikalną nazwą ciągu znaków, np. „account-holder-name”.

Ten przykładowy presentations.batchUpdate kod pokazuje, jak użyć metody CreateImageRequest , aby zastąpić pojedyncze wystąpienie tagu kształtu obrazem, zachowując to samo położenie i skalując go tak, aby pasował do rozmiaru tagu, przy jednoczesnym zachowaniu proporcji obrazu.

Żądanie może też służyć do zastąpienia jednego obrazu innym. Żądanie polega na dodaniu nowego obrazu, a następnie usunięciu tagu.

Metoda CreateImageRequest zastępuje tylko określony kształt. Aby zastąpić kształty tagów w całej prezentacji, użyj metody ReplaceAllShapesWithImageRequest.

Tag kształtu ma te PageElement właściwości (które można znaleźć za pomocą presentations.pages.get żądania):

{
  "objectId": PAGE_ELEMENT_ID,
  "size": {
    "width": {
      "magnitude": 3000000,
      "unit": "EMU"
    },
    "height": {
      "magnitude": 3000000,
      "unit": "EMU"
    }
  },
  "transform": {
    "scaleX": 1.13,
    "scaleY": 0.62,
    "translateX": 4800000,
    "translateY":  450000,
    "unit": "EMU"
  },
  "shape": {
    "shapeType": "RECTANGLE"
  }
}

Kształt znajduje się na slajdzie określonym przez PAGE_ID. Aby określić obraz, który ma zastąpić kształt, interfejs API pobiera obraz za pomocą IMAGE_URL. Aby zachować proporcje obrazu przy jednoczesnym ograniczeniu go do rozmiaru tagu, metoda CreateImageRequest ustawia zarówno rozmiar obrazu na iloczyn rozmiaru tagu i skali, jak i współczynniki skali obrazu na 1. Więcej informacji znajdziesz w artykule Zachowywanie proporcji.

Oto protokół żądania zastąpienia tagu kształtu obrazem:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createImage": {
        "url": IMAGE_URL,
        "elementProperties": {
          "pageObjectId":  PAGE_ID,
          "size": {
            "width": {
              "magnitude": 3000000 * 1.13,
              "unit": "EMU"
            },
            "height": {
              "magnitude": 3000000 * 0.62,
              "unit": "EMU"
            }
          },
          "transform": {
            "scaleX": 1,
            "scaleY": 1,
            "translateX": 4800000,
            "translateY": 450000,
            "unit": "PT"
          }
        }
      }
    },
    {
      "deleteObject": {
        "objectId": PAGE_ELEMENT_ID
      }
    }
  ]
}