Opérations Slides

L'API Google Slides vous permet de créer, déplacer et supprimer des diapositives. Les exemples de cette page présentent certaines opérations de diapositive courantes utilisant la méthode presentations.batchUpdate.

Ces exemples utilisent les variables suivantes:

  • PRESENTATION_ID : indique où vous fournissez l'ID de présentation. Vous pouvez découvrir la valeur de cet ID à partir de l'URL de la présentation.
  • PAGE_ID et PAGE_ID2 : indique où vous fournissez les ID d'objet de page. Vous pouvez récupérer la valeur à partir de l'URL ou à l'aide d'une requête de lecture API.

Ces exemples sont présentés sous forme de requêtes HTTP afin d'être indépendant du langage. Pour découvrir comment implémenter une mise à jour groupée dans différents langages à l'aide des bibliothèques clientes de l'API Google, consultez les guides suivants: Créer une diapositive et Ajouter des formes et du texte.

Copier une diapositive

L'exemple de code presentations.batchUpdate suivant montre comment utiliser la méthode DuplicateObjectRequest pour copier une diapositive et l'insérer après l'original dans la présentation. La diapositive d'origine est spécifiée par PAGE_ID.

La requête vous permet de spécifier si tout ou partie des ID d'élément de page doivent figurer dans la copie (avec certaines restrictions). Dans cet exemple, la diapositive d'origine contient un élément de table (spécifié par TABLE_ELEMENT_ID) mappé à une nouvelle table (spécifiée par COPY_TABLE_ELEMENT_ID) dans la copie de la diapositive (spécifiée par COPY_PAGE_ID). Tous les autres éléments de la copie reçoivent des ID aléatoires.

Pour en savoir plus sur la copie d'un PageElement, y compris de zones de texte, d'images, de tableaux, de formes de base, de lignes et de vidéos intégrées, consultez l'exemple Copier et modifier un élément.

Voici le protocole de demande de copie d'une diapositive:

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

Créer une diapositive

L'exemple de code presentations.batchUpdate suivant montre comment utiliser la méthode CreateSlideRequest pour créer une diapositive et l'insérer en tant que quatrième diapositive (à l'aide de la valeur insertionIndex basée sur zéro) de la présentation.

La nouvelle diapositive est configurée pour utiliser la valeur PredefinedLayout de TITLE_AND_TWO_COLUMNS. Vous pouvez spécifier une chaîne à utiliser comme PAGE_ID pour la diapositive (avec certaines restrictions) ou autoriser l'API à générer le PAGE_ID en omettant le champ dans la requête.

Voici le protocole de demande de création d'une diapositive:

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

Créer une diapositive et modifier les espaces réservés

L'exemple de code presentations.batchUpdate suivant montre comment utiliser la méthode CreateSlideRequest pour créer une diapositive à l'aide de PredefinedLayout de TITLE_AND_TWO_COLUMNS.

Vous pouvez spécifier une chaîne à utiliser comme PAGE_ID pour la diapositive (avec certaines restrictions). Le placeholderIdMappings utilise la Type de TITLE. TITLE_ID fait référence à la forme d'espace réservé de la diapositive afin de pouvoir la modifier.

Voici le protocole de requête permettant de créer une diapositive et de modifier les espaces réservés:

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

Déplacer les diapositives à une nouvelle position

L'exemple de code presentations.batchUpdate suivant montre comment utiliser la méthode UpdateSlidesPositionRequest pour prendre les deux diapositives spécifiées et les déplacer au début de la présentation, en conservant leur ordre relatif.

Les ID de diapositive spécifiés (PAGE_ID et PAGE_ID2) doivent être fournis dans l'ordre de présentation existant, sans doublons. Le insertionIndex basé sur zéro indique l'endroit où les diapositives doivent être insérées, en fonction de l'ordre d'affichage avant le déplacement. Cette valeur doit être comprise entre zéro et le nombre de diapositives de la présentation (inclus).

Voici le protocole de demande de déplacement de diapositives à un nouvel emplacement:

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

Définir une image de fond de diapositive

L'exemple de code presentations.batchUpdate suivant montre comment utiliser la méthode UpdatePagePropertiesRequest pour définir l'image de fond d'une diapositive spécifiée par PAGE_ID. L'API récupère l'image à l'aide de IMAGE_URL.

Un masque de champ permet d'indiquer que seul l'arrière-plan de la diapositive doit être modifié pour conserver les autres propriétés. L'utilisation de masques de champ améliore également les performances.

Vous pouvez également utiliser une méthode UpdatePagePropertiesRequest pour définir l'arrière-plan d'une diapositive sur une couleur unie.

Voici le protocole de requête permettant de définir une image de fond de diapositive:

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

Générer une vignette

Vous pouvez générer une vignette de la dernière version d'une page spécifique dans la présentation en appelant la méthode presentations.pages.getThumbnail, qui renvoie une image miniature de la page en tant qu'URL de contenu. Par défaut, l'URL de l'image a une durée de vie de 30 minutes.

Vous pouvez également spécifier les valeurs mimeType et thumbnailSize renvoyées en utilisant le champ ThumbnailProperties comme paramètre de requête.

Voici le protocole de requête permettant de générer la vignette de la page avec le ThumbnailProperties défini:

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