Opérations sur l'élément

L'API Google Slides vous permet de créer et de modifier PageElement ressource, y compris les zones de texte, les images, les tableaux, les formes de base, les lignes et des vidéos intégrées. Les exemples de cette page présentent des éléments de page courants des opérations à l'aide du presentations.batchUpdate .

Ces exemples utilisent les variables suivantes:

  • PRESENTATION_ID : indique où vous fournissez le présentation ID. Vous pouvez récupérer la valeur de cet identifiant à 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 les guides suivants:

Ajouter une liste à puces à une zone de texte

Les éléments suivants : presentations.batchUpdate exemple de code montre comment utiliser InsertTextRequest pour insérer du texte dans une zone de texte vide spécifiée par PAGE_ELEMENT_ID L'exemple utilise ensuite la CreateParagraphBulletsRequest pour convertir tout le texte de la zone de texte en une liste à puces. Éléments de la liste sont séparés par \n caractères, tandis que le retrait est contrôlé avec \t caractères.

Voici le protocole de requête permettant de créer une présentation:

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

Cette requête peut créer une liste à puces semblable à celle-ci:

Résultat de la recette à puces.

Ajouter une forme à une diapositive

Les éléments suivants : presentations.batchUpdate exemple de code montre comment utiliser CreateShapeRequest pour ajouter une forme de vague à une diapositive spécifiée par PAGE_ID. Cette requête spécifie le type de forme, puis la met à l'échelle et la positionne la diapositive. Il utilise ensuite InsertTextRequest pour ajouter du texte à cette forme. La requête définit l'ID de la ligne sur PAGE_ELEMENT_ID

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

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

Ajouter une vidéo à une diapositive

Les éléments suivants : presentations.batchUpdate exemple de code montre comment utiliser CreateVideoRequest pour intégrer une vidéo dans une diapositive spécifiée par PAGE_ID. Cette requête met à l'échelle et positionne la vidéo dans la diapositive, et définit ID à PAGE_ELEMENT_ID. L'identifiant unique de la vidéo source est définie sur VIDEO_ID. Par exemple, la vidéo YouTube accessible à l'adresse https://www.youtube.com/watch?v=7U3axjORYZ0 est associé à l'ID 7U3axjORYZ0.

Voici le protocole de requête permettant d'ajouter une vidéo à une diapositive:

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

Copier et modifier un élément

Les éléments suivants : presentations.batchUpdate exemple de code montre comment utiliser DuplicateObjectRequest pour utiliser une forme existante (spécifiée par le PAGE_ELEMENT_ID) et créer une copie (spécifiée par le paramètre COPY_ELEMENT_ID).

Les requêtes suivantes apportent ensuite les modifications suivantes à l'objet dupliqué:

  • Définit la couleur d'arrière-plan sur la couleur du thème LIGHT2.
  • Déplace la copie vers le bas de la page (à partir de la position de la forme d'origine).
  • Définit la police du texte sur 18 pts Georgia.
  • Modifie le texte pour indiquer "My Shape Copy" (Mon texte de forme).

Les requêtes présentées ici utilisent des masques de champ pour préserver les propriétés de la forme qui ne sont pas modifiées (comme le style de contour). En utilisant les masques de champ améliorent également les performances.

Pour plus d'informations sur la copie d'une diapositive, consultez l'exemple Copier une diapositive.

Voici le protocole de requête permettant de copier et de modifier un élément:

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

Voici à quoi peuvent ressembler une forme et sa copie après ces mises à jour:

Copier et modifier le résultat de la recette d'un élément.

Modifier le contour d'une image ou d'une vidéo

Les éléments suivants : presentations.batchUpdate exemple de code montre comment utiliser UpdateImagePropertiesRequest pour mettre à jour l'aspect du contour d'une image spécifiée par la méthode IMAGE_ELEMENT_ID Elle utilise également le UpdateVideoPropertiesRequest pour mettre à jour l'apparence des contours d'une vidéo intégrée spécifiée par le paramètre VIDEO_ELEMENT_ID

Les requêtes apportent les modifications suivantes à l'objet:

  • Définit la couleur du contour de l'image sur la couleur du thème ACCENT5 avec la transparence.
  • Définit la couleur du contour de la vidéo sur la couleur du thème ACCENT1, sans la transparence.
  • Définit l'épaisseur des contours sur 3 points pour les deux points.
  • Définit le style de contour de l'image sur SOLID.
  • Définit le style de contour de la vidéo sur DASH_DOT.

Les méthodes UpdateImagePropertiesRequest et La méthode UpdateVideoPropertiesRequest ne peut modifier que l'apparence de l'image et les contours de la vidéo. Toutes les autres propriétés sont en lecture seule. Les requêtes ici utilisent field masks pour spécifier que seul le contour doivent être modifiés pour protéger le code contre les futures modifications de l'API. Utiliser le champ améliorent également les performances.

Voici le protocole de requête permettant de modifier le contour d'une image ou d'une vidéo:

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

Une fois ces modifications apportées, une image et une vidéo intégrée pourraient se présenter comme suit:

Recettes de présentation d'images et de vidéos
résultat.

Modifier le contour d'une forme

Les éléments suivants : presentations.batchUpdate exemple de code montre comment utiliser UpdateShapePropertiesRequest pour utiliser une forme existante (spécifiée par le PAGE_ELEMENT_ID) et met à jour l'apparence de son contour.

Les requêtes apportent les modifications suivantes à l'objet:

  • Définit la couleur du contour sur la couleur du thème ACCENT5 avec la transparence.
  • Définit l'épaisseur du contour sur 3 points.
  • Définit le style de contour sur LONG_DASH.

Les requêtes présentées ici utilisent des masques de champ pour préserver les propriétés de la forme qui ne sont pas modifiées (comme la couleur de remplissage de la forme). En utilisant les masques de champ améliorent également les performances.

Voici le protocole de requête permettant de modifier le contour d'une forme:

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

Voici à quoi pourrait ressembler une forme après ces modifications:

Modifier le résultat de la recette générale.

Mettre en forme du texte dans une forme ou une zone de texte

Les éléments suivants : presentations.batchUpdate exemple de code montre comment utiliser UpdateTextStyleRequest pour utiliser une forme existante (spécifiée par le PAGE_ELEMENT_ID) et met à jour l'apparence de son texte.

Les requêtes apportent les modifications suivantes à l'objet:

  • Définit la couleur du texte sur la couleur du thème ACCENT5.
  • Met la police en gras et en italique Corsiva 18 pts.
  • Souligne le texte.

Les requêtes présentées ici utilisent des masques de champ pour préserver les propriétés de style de texte qui n'ont pas été modifiées (comme la couleur d'arrière-plan, ou les décalages de référence). L'utilisation de masques de champ permet également d'améliorer les performances.

Voici le protocole de requête permettant de mettre en forme du texte dans une forme ou une zone de texte:

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

Voici à quoi pourrait ressembler le texte de forme après ces mises à jour:

Modifier la recette du format de texte
résultat.

Importer un graphique à partir de Google Sheets

Les éléments suivants : presentations.batchUpdate exemple de code montre comment utiliser CreateSheetsChartRequest pour importer un graphique à partir d'une feuille et le placer sur une diapositive spécifiée par PAGE_ID

La requête nécessite l'ID de la feuille de calcul (spécifié par le paramètre SPREADSHEET_ID) et l'ID du graphique de la feuille de calcul (spécifié par le paramètre SPREADSHEET_CHART_ID). L'ID du graphique dans le la présentation Slides est spécifiée par le paramètre PRESENTATION_CHART_ID

La requête définit également LinkingMode du graphique Slides sur LINKED pour que vous puissiez mettre à jour graphique intégré si le graphique de la feuille de calcul source est mis à jour.

Voici le protocole de requête à partir duquel importer un graphique Sheets:

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

Actualiser un graphique depuis Sheets

Les éléments suivants : presentations.batchUpdate exemple de code montre comment utiliser RefreshSheetsChartRequest pour actualiser un graphique lié dans une présentation, en le remplaçant par le dernier de ce graphique à partir de la feuille de calcul source Sheets. La nécessite l'ID du graphique dans la présentation Slides. (spécifiée par PRESENTATION_CHART_ID).

Voici le protocole de requête permettant d'actualiser un graphique à partir de Sheets:

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