Operacje na slajdach

Interfejs Google Slides API umożliwia tworzenie, przenoszenie i usuwanie slajdów. Przykłady na tej stronie pokazują typowe operacje na slajdach z użyciem metody presentations.batchUpdate.

W tych przykładach używamy tych zmiennych:

  • PRESENTATION_ID– wskazuje, gdzie podajesz identyfikator prezentacji. Wartość tego identyfikatora znajdziesz w adresie URL prezentacji.
  • PAGE_IDPAGE_ID2 – wskazują miejsca, w których podajesz identyfikatory obiektów strony. Wartość tego parametru możesz pobrać z adresu URL lub za pomocą żądania odczytu interfejsu API.

Przykłady te 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, zapoznaj się z tymi przewodnikami: Tworzenie slajdu i Dodawanie kształtów i tekstu.

Kopiowanie slajdu

Poniższy przykładowy kod presentations.batchUpdate pokazuje, jak użyć metody DuplicateObjectRequest do skopiowania slajdu i wstawienia go po oryginalnym slajdzie w prezentacji. Oryginalny slajd jest określony przez PAGE_ID.

W żądaniu możesz określić, czy w kopii mają się znajdować identyfikatory niektórych lub wszystkich elementów strony (z pewnymi ograniczeniami). W tym przykładzie oryginalny slajd zawiera element tabeli (określony przez TABLE_ELEMENT_ID), który jest mapowany na nową tabelę (określoną przez COPY_TABLE_ELEMENT_ID) na kopii slajdu (określonej przez COPY_PAGE_ID). Wszystkie inne elementy na kopii mają losowe identyfikatory.

Więcej informacji o kopiowaniu elementów, w tym pól tekstowych, obrazów, tabel, podstawowych kształtów, linii i osadzonych filmów, znajdziesz w przykładowym artykule Kopiowanie i edytowanie elementu.PageElement

Oto protokół żądania kopiowania slajdu:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "duplicateObject": {
        "objectId": PAGE_ID,
        "objectIds": {
          "PAGE_ID": "COPY_PAGE_ID",
          "TABLE_ELEMENT_ID": "COPY_TABLE_ELEMENT_ID"
        }
      }
    }
  ]
}

Tworzenie slajdu

Poniższy przykładowy kod presentations.batchUpdate pokazuje, jak za pomocą metody CreateSlideRequest utworzyć slajd i wstawić go jako czwarty slajd (używając indeksu insertionIndex opartego na zerze) w prezentacji.

Nowy slajd jest ustawiony na używanie PredefinedLayout z TITLE_AND_TWO_COLUMNS. Możesz określić ciąg znaków, który będzie używany jako PAGE_ID slajdu (z pewnymi ograniczeniami), lub zezwolić interfejsowi API na wygenerowanie PAGE_ID przez pominięcie pola w żądaniu.

Oto protokół żądania utworzenia slajdu:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createSlide": {
        "objectId": "PAGE_ID",
        "insertionIndex": 3,
        "slideLayoutReference": {
          "predefinedLayout": "TITLE_AND_TWO_COLUMNS"
        }
      }
    }
  ]
}

Tworzenie slajdu i modyfikowanie elementów zastępczych

Poniższy przykładowy kod presentations.batchUpdate pokazuje, jak za pomocą metody CreateSlideRequest utworzyć slajd, korzystając z PredefinedLayout TITLE_AND_TWO_COLUMNS.

Możesz określić ciąg znaków, który będzie używany jako PAGE_ID w przypadku slajdu (z pewnymi ograniczeniami). Metoda placeholderIdMappings używa właściwości Type elementu TITLE. Symbol TITLE_ID odnosi się do kształtu obiektu zastępczego slajdu, więc można go modyfikować.

Oto protokół żądania służący do tworzenia slajdu i modyfikowania symboli zastępczych:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createSlide": {
        "objectId": PAGE_ID,
        "slideLayoutReference": {
          "predefinedLayout": "TITLE_AND_TWO_COLUMNS"
        },
        "placeholderIdMappings": [
          {
            "layoutPlaceholder": {
              "type": "TITLE",
              "index": 0
            },
            "objectId": TITLE_ID,
           },
        ],
      }
    },
    {
      "insertText": {
        "objectId": TITLE_ID,
        "text": "This is my slide title",
      }
    },
  ]
}

Przenoszenie slajdów na nowe miejsce

Poniższy przykładowy kod presentations.batchUpdate pokazuje, jak za pomocą metody UpdateSlidesPositionRequest przenieść 2 określone slajdy na początek prezentacji, zachowując ich względną kolejność.

Podane identyfikatory slajdów (PAGE_IDPAGE_ID2) muszą być podane w kolejności, w jakiej występują w prezentacji, i nie mogą się powtarzać. Liczba insertionIndex (liczona od zera) wskazuje, gdzie należy wstawić slajdy, na podstawie kolejności przed przeniesieniem. Wartość musi być liczbą z zakresu od zera do liczby slajdów w prezentacji (włącznie).

Oto protokół żądania przeniesienia slajdów na nową pozycję:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updateSlidesPosition": {
        "slideObjectIds": [
          PAGE_ID,
          PAGE_ID2
          ],
        "insertionIndex": 0
      }
    }
  ]
}

Ustawianie obrazu tła slajdu

Poniższy przykładowy kod presentations.batchUpdate pokazuje, jak użyć metody UpdatePagePropertiesRequest do ustawienia obrazu tła slajdu określonego przez PAGE_ID. Interfejs API pobiera obraz za pomocą parametru IMAGE_URL.

Maska pola służy do określenia, że należy zmienić tylko tło slajdu, aby zachować inne właściwości. Używanie masek pól również zwiększa wydajność.

Możesz też użyć metody UpdatePagePropertiesRequest, aby ustawić tło slajdu na jednolity kolor.

Poniżej znajdziesz protokół żądania ustawienia obrazu tła slajdu:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updatePageProperties": {
        "objectId": PAGE_ID,
        "pageProperties": {
          "pageBackgroundFill": {
            "stretchedPictureFill": {
              "contentUrl": IMAGE_URL
            }
          }
        },
        "fields": "pageBackgroundFill"
      }
    }
  ]
}

Generowanie miniatury

Możesz wygenerować miniaturę najnowszej wersji konkretnej strony w prezentacji, wywołując metodę presentations.pages.getThumbnail, która zwraca obraz miniatury strony jako adres URL treści. Adres URL obrazu ma domyślny okres istnienia wynoszący 30 minut.

Możesz też określić zwracane wartości mimeTypethumbnailSize, używając pola ThumbnailProperties jako parametru zapytania.

Oto protokół żądania generowania miniatury strony z ustawionym parametrem ThumbnailProperties:

 GET https://slides.googleapis.com/v1/presentations/PRESENTATION_ID/pages/PAGE_ID/thumbnail?thumbnailProperties.mimeType=PNG&thumbnailProperties.thumbnailSize=MEDIUM
{
  "width": 800,
  "height": 450,
  "contentUrl": "CONTENT_URL"
}