Operacje na elementach

Interfejs API Prezentacji Google umożliwia tworzenie i edytowanie PageElement zasobów, takich jak pola tekstowe, obrazy, tabele, podstawowe kształty, linie i filmów umieszczonych na stronie. Przykłady na tej stronie pokazują niektóre typowe elementy za pomocą funkcji presentations.batchUpdate .

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

  • PRESENTATION_ID – wskazuje, gdzie podajesz atrybuty prezentacja Identyfikator. Dostępne opcje pobierz wartość tego identyfikatora z adresu URL prezentacji.
  • PAGE_ID – wskazuje miejsce, w którym podajesz obiekt strony. Identyfikator. Możesz pobrać tę wartość z adresu URL lub za pomocą żądania odczytu interfejsu API.
  • PAGE_ELEMENT_ID – wskazuje, gdzie udostępniasz stronę identyfikator obiektu elementu. Ty może określać ten identyfikator dla elementów, które tworzysz (z niektórymi ograniczenia) lub pozwolić interfejsowi API Prezentacji na ich automatyczne utworzenie. Identyfikatory elementów można pobierać za pomocą żądania odczytu interfejsu API.

Te przykłady są prezentowane jako żądania HTTP bez względu na język. Aby się uczyć Jak wdrożyć aktualizację zbiorczą w różnych językach przy użyciu interfejsu API Google? bibliotek klienta, znajdziesz w tych przewodnikach:

Dodawanie listy punktowanej do pola tekstowego

Poniżej presentations.batchUpdate przykładowy kod pokazuje, jak korzystać z InsertTextRequest do wstawienia tekstu do pustego pola tekstowego określonego przez PAGE_ELEMENT_ID Następnie w próbce użyto funkcji CreateParagraphBulletsRequest , aby przekonwertować cały tekst w polu tekstowym na listę punktowaną. Pozycje na liście są rozdzielone znakami \n, a wcięcie określa się za pomocą \t znaków.

Oto protokół żądań tworzenia prezentacji:

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

To żądanie może spowodować utworzenie listy punktowanej w następujący sposób:

Wynik przepisu w postaci listy punktowanej.

Dodawanie kształtu do slajdu

Poniżej presentations.batchUpdate przykładowy kod pokazuje, jak korzystać z CreateShapeRequest aby dodać kształt fali do slajdu określonego przez PAGE_ID. To żądanie określa typ kształtu, a następnie skaluje i ustawia kształt slajdzie. Następnie korzysta z funkcji InsertTextRequest aby dodać tekst do danego kształtu. Żądanie ustawia identyfikator linii na PAGE_ELEMENT_ID

Oto protokół żądań dodawania kształtu do slajdu:

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

Dodawanie filmu do slajdu

Poniżej presentations.batchUpdate przykładowy kod pokazuje, jak korzystać z CreateVideoRequest aby umieścić film na slajdzie określonym przez PAGE_ID. To żądanie skaluje i ustawia film na slajdzie oraz ustawia Identyfikator na PAGE_ELEMENT_ID. Unikalny identyfikator filmu źródłowego to ustaw jako VIDEO_ID. Na przykład film w YouTube pod adresem https://www.youtube.com/watch?v=7U3axjORYZ0 ma identyfikator 7U3axjORYZ0.

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

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

Kopiowanie i edytowanie elementu

Poniżej presentations.batchUpdate przykładowy kod pokazuje, jak korzystać z DuplicateObjectRequest aby przyjąć istniejący kształt (określony przez PAGE_ELEMENT_ID) i utwórz jego kopię (określoną w COPY_ELEMENT_ID).

Kolejne żądania wprowadzają te zmiany do zduplikowanego obiektu:

  • Ustawia kolor tła na kolor motywu LIGHT2.
  • Przenosi kopię w dół strony (z pozycji oryginalnego kształtu).
  • Ustawia czcionkę tekstu na 18 punktów – Georgia.
  • Zmienia tekst tak, aby brzmiał „Kopia mojego kształtu”.

Żądania w tym miejscu korzystają z masek pól do zachowania właściwości kształtu, które nie zmieniają się (np. styl konturu). Zastosowanie poprawia też wydajność.

Więcej informacji na temat kopiowania slajdu można znaleźć w przykładowym artykule Kopiowanie slajd.

Protokół żądania do skopiowania i edytowania elementu wygląda tak:

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

Oto, jak kształt i jego kopia mogą wyglądać po aktualizacji:

Skopiuj i zmodyfikuj wynik przepisu dotyczący elementu.

Edytowanie konspektu obrazu lub filmu

Poniżej presentations.batchUpdate przykładowy kod pokazuje, jak korzystać z UpdateImagePropertiesRequest metody aktualizowania konspektu obrazu określonego przez IMAGE_ELEMENT_ID Wykorzystuje też UpdateVideoPropertiesRequest do aktualizacji konspektu osadzonego filmu określonego przez VIDEO_ELEMENT_ID

Te żądania wprowadzają te zmiany w obiekcie:

  • Ustawia kolor konturu obrazu na kolor motywu ACCENT5 z częściowym i przejrzystością.
  • Ustawia kolor konturu filmu na kolor motywu ACCENT1 bez i przejrzystością.
  • Ustawia wagę konspektu na 3 punkty w przypadku obu opcji.
  • Ustawia styl konspektu obrazu na SOLID.
  • Ustawia styl konspektu filmu na DASH_DOT.

Zarówno metoda UpdateImagePropertiesRequest, jak i metoda Metoda UpdateVideoPropertiesRequest może tylko zmieniać wygląd obrazu i konspekty filmu. Pozostałe właściwości są tylko do odczytu. Stosowane tu żądania używają maski pola, aby wskazać, że tylko kontur należy zmienić, aby zabezpieczyć kod przed przyszłymi zmianami interfejsu API. Korzystanie z pola poprawiają też wydajność.

Protokół żądania umożliwiający edytowanie konspektu obrazu lub filmu:

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

Oto, jak po aktualizacji mogą wyglądać obraz i umieszczony film:

Konspekty obrazów i filmów
wynik.

Edytowanie obrysu kształtu

Poniżej presentations.batchUpdate przykładowy kod pokazuje, jak korzystać z UpdateShapePropertiesRequest aby przyjąć istniejący kształt (określony przez PAGE_ELEMENT_ID) i zmienia wygląd jego obrysu.

Te żądania wprowadzają te zmiany w obiekcie:

  • Ustawia kolor konturu na kolor motywu ACCENT5 z częściowym i przejrzystością.
  • Ustawia grubość konspektu na 3 pkt.
  • Ustawia styl konspektu na LONG_DASH.

Żądania w tym miejscu korzystają z masek pól do zachowania właściwości kształtu, które nie zmieniają się (np. kolor wypełnienia kształtu). Zastosowanie poprawia też wydajność.

Protokół żądań do edytowania konspektu kształtu znajduje się poniżej:

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

Oto, jak może wyglądać kształt po aktualizacji:

Edytuj wynik przepisu konspektu.

Formatowanie tekstu w kształcie lub polu tekstowym

Poniżej presentations.batchUpdate przykładowy kod pokazuje, jak korzystać z UpdateTextStyleRequest aby przyjąć istniejący kształt (określony przez PAGE_ELEMENT_ID) i aktualizuje wygląd tekstu.

Te żądania wprowadzają te zmiany w obiekcie:

  • Ustawia kolor tekstu na kolor motywu ACCENT5.
  • Ustawia pogrubienie, kursywę i 18-punktową czcionkę Corsiva.
  • Podkreśla tekst.

Żądania w tym miejscu korzystają z masek pól do zachowania właściwości stylu tekstu, które się nie zmieniają (takie jak kolor tła, linków i przesunięcia punktu odniesienia). Użycie masek pól również zwiększa wydajność.

Poniżej znajduje się protokół żądania do formatowania tekstu w kształcie lub polu tekstowym:

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

Oto, jak może wyglądać tekst kształtu po wprowadzeniu aktualizacji:

Edytuj przepis dotyczący formatu tekstu
wynik.

Importowanie wykresu z Arkuszy Google

Poniżej presentations.batchUpdate przykładowy kod pokazuje, jak korzystać z CreateSheetsChartRequest , aby zaimportować wykres z arkusza i umieścić go na slajdzie określonym przez PAGE_ID

Żądanie wymaga identyfikatora arkusza kalkulacyjnego (określonego przez SPREADSHEET_ID) i identyfikator wykresu w arkuszu kalkulacyjnym (określonym przez SPREADSHEET_CHART_ID). Identyfikator wykresu w Sposób prezentacji w Prezentacjach jest określany przez PRESENTATION_CHART_ID

Żądanie ustawia też LinkingMode wykresu Prezentacji do wersji LINKED, aby móc aktualizować jeśli wykres w źródłowym arkuszu kalkulacyjnym został zaktualizowany.

Poniżej znajdziesz protokół żądania, z którego możesz zaimportować wykres Arkusze:

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

Odświeżanie wykresu w Arkuszach

Poniżej presentations.batchUpdate przykładowy kod pokazuje, jak korzystać z RefreshSheetsChartRequest pozwala odświeżyć linkowany wykres w prezentacji, zastępując go najnowszym tego wykresu ze źródłowego arkusza kalkulacyjnego Arkuszy. żądanie wymaga identyfikatora wykresu w Prezentacjach (określone przez zasadę PRESENTATION_CHART_ID).

Oto protokół żądania, z którego można odświeżyć wykres Arkusze:

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