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:

Przykłady są przedstawione jako żądania HTTP, aby były niezależne od języka. Więcej informacji o tym, jak wdrożyć aktualizację zbiorczą w różnych językach za pomocą bibliotek klienta interfejsu Google API, znajdziesz w artykule Dodawanie kształtów i tekstu.

Dodawanie pola tekstowego do slajdu

Poniższy presentations.batchUpdate przykładowy kod 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

Poniższy presentations.batchUpdate przykładowy 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

Poniższy presentations.batchUpdate przykładowy kod 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

Poniższy presentations.batchUpdate przykładowy kod 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 opartego na zerze, 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”.

Poniższy presentations.batchUpdate przykładowy 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, CreateImageRequest metoda ustawia zarówno rozmiar obrazu na iloczyn rozmiaru i skali tagu, 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
      }
    }
  ]
}