Écriture de base

L'API Google Slides vous permet d'ajouter et de modifier des éléments sur les pages d'une présentation. La les exemples de cette page montrent comment effectuer des opérations de lecture courantes à l'aide de presentations.batchUpdate .

Ces exemples utilisent les variables suivantes:

  • PRESENTATION_ID : indique où vous fournissez le présentation ID. Vous pouvez découvrir la valeur de cet ID à partir de l'URL de la présentation.
  • PAGE_ID : indique où vous fournissez l'objet Page ID. Vous pouvez récupérer la valeur à partir de l'URL ou à l'aide d'une requête de lecture d'API.
  • PAGE_ELEMENT_ID : indique où vous fournissez la page ID d'objet d'élément. Toi spécifiez cet identifiant pour les éléments que vous créez (avec des restrictions) ou autoriser l'API Slides à en créer une automatiquement. ID des éléments peuvent être récupérées via une requête de lecture API.

Ces exemples sont présentés comme des requêtes HTTP afin de ne pas tenir compte du langage. Pour apprendre comment implémenter une mise à jour groupée dans différents langages à l'aide de l'API Google ; bibliothèques clientes, consultez la section Ajouter des formes texte.

Ajouter une zone de texte à une diapositive

Les éléments suivants : presentations.batchUpdate exemple de code montre comment utiliser CreateShapeRequest pour ajouter une nouvelle zone de texte (contenant la chaîne "Ma zone de texte ajoutée") à une la diapositive spécifiée par PAGE_ID. Deux requêtes sont spécifiées dans Le corps de la requête : un pour créer la forme de la zone de texte (avec une taille et emplacement) et une seconde pour y insérer du texte.

La première requête spécifie l'objet ID à utiliser pour la zone de texte. Cela permet à la deuxième requête de l'utiliser dans le même appel d'API, ce qui réduit ou d'autres frais généraux.

Voici le protocole de requête permettant d'ajouter une zone de texte à une diapositive:

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

Ajouter une image à une diapositive

Les éléments suivants : presentations.batchUpdate exemple de code montre comment utiliser CreateImageRequest pour ajouter une image à une diapositive spécifiée par PAGE_ID. La L'API récupère l'image à l'aide de IMAGE_URL. Cette demande a également redimensionne et positionne l'image dans la diapositive.

Voici le protocole de requête permettant d'ajouter une image à une diapositive:

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

Supprimer une page ou un élément de page

Les éléments suivants : presentations.batchUpdate exemple de code montre comment utiliser DeleteObjectRequest pour supprimer l'élément de page spécifié par PAGE_ELEMENT_ID. et la diapositive spécifiée par PAGE_ID à l'aide de deux requêtes distinctes.

Voici le protocole de requête permettant de supprimer une page ou un élément de page:

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

Modifier le texte dans une forme spécifiée

Les éléments suivants : presentations.batchUpdate exemple de code montre comment utiliser DeleteTextRequest pour remplacer une partie du texte présente dans la forme spécifiée par PAGE_ELEMENT_ID Pour ce faire, commencez par supprimer du texte à l'aide de la startIndex basée sur zéro, puis insérez le nouveau texte à cette position. Dans ce exemple, la chaîne de texte d'origine "Mon texte de forme: ????" est remplacé par "Mon Shape Text: Trapezoid".

Cette requête ne concerne que le texte dans une forme spécifiée. Pour remplacer le texte partout dans une présentation, utilisez le ReplaceAllTextRequest .

Voici le protocole de requête permettant de modifier du texte dans une forme spécifiée:

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

Remplacer un tag de forme par une image

Les tags sont des zones de texte ou des formes avec un nom de chaîne unique, tel que "nom-du-titulaire-du-compte".

Les éléments suivants : presentations.batchUpdate exemple de code montre comment utiliser CreateImageRequest permettant de remplacer une seule instance d'un tag de forme par une image, en maintenant à la même position et en la redimensionnant pour s'adapter à la taille du tag, tout en conservant format.

La requête peut également servir à remplacer une image par une autre. La demande consiste à ajouter la nouvelle image, puis à supprimer le tag.

La méthode CreateImageRequest ne remplace qu'une forme spécifiée. Pour remplacer le tag formes n'importe où dans une présentation, utilisez un ReplaceAllShapesWithImageRequest .

Le tag de forme présente les caractéristiques suivantes : PageElement (que vous pouvez trouver à l'aide d'un presentations.pages.get requête):

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

La forme se trouve sur la diapositive spécifiée par PAGE_ID. Pour spécifier l'image qui remplace la forme, l'API récupère l'image à l'aide de la méthode IMAGE_URL Pour conserver le format de l'image tout en le limitant à la taille du tag, CreateImageRequest définit la taille de l'image sur le produit de la taille et de l'échelle du tag, et les facteurs d'échelle de l'image sur 1. Pour en savoir plus, consultez la section Conserver l'aspect ratio.

Voici le protocole de requête permettant de remplacer un tag de forme par une image:

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