Operazioni elemento

L'API Presentazioni Google consente di creare e modificare una risorsa PageElement, tra cui caselle di testo, immagini, tabelle, forme di base, linee e video incorporati. Gli esempi in questa pagina mostrano alcune operazioni comuni sugli elementi di pagina utilizzando il metodo presentations.batchUpdate.

Questi esempi utilizzano le seguenti variabili:

  • PRESENTATION_ID: indica dove fornisci l'ID presentazione. Puoi recuperare il valore di questo ID dall'URL della presentazione.
  • PAGE_ID: indica dove fornisci l'ID oggetto della pagina. Puoi recuperare il relativo valore dall'URL o utilizzando una richiesta di lettura dell'API.
  • PAGE_ELEMENT_ID: indica dove fornisci l'ID oggetto dell'elemento di pagina. Puoi specificare questo ID per gli elementi che crei (con alcune limitazioni) o consentire all'API Presentazioni di crearne uno automaticamente. Gli ID degli elementi possono essere recuperati tramite una richiesta di lettura dell'API.

Questi esempi sono presentati come richieste HTTP per essere neutrali di lingua. Per scoprire come implementare un aggiornamento batch in lingue diverse utilizzando le librerie client dell'API di Google, consulta le seguenti guide:

Aggiungere un elenco puntato a una casella di testo

Il seguente esempio di codice di presentations.batchUpdate mostra come utilizzare il metodo InsertTextRequest per inserire il testo in una casella di testo vuota specificata dal PAGE_ELEMENT_ID. Nell'esempio viene quindi utilizzato il metodo CreateParagraphBulletsRequest per convertire tutto il testo della casella di testo in un elenco puntato. Gli elementi nell'elenco sono separati da \n caratteri, mentre il rientro è controllato con caratteri \t.

Di seguito è riportato il protocollo di richiesta per creare una presentazione:

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

Questa richiesta può creare un elenco puntato simile al seguente:

Risultato della ricetta con elenco puntato.

Aggiungi una forma a una diapositiva

Il seguente esempio di codice di presentations.batchUpdate mostra come utilizzare il metodo CreateShapeRequest per aggiungere una forma d'onda a una slide specificata dal PAGE_ID. Questa richiesta specifica il tipo di forma, poi ridimensiona e posiziona la forma nella slide. Quindi utilizza il metodo InsertTextRequest per aggiungere testo a quella forma. La richiesta imposta l'ID della linea su PAGE_ELEMENT_ID.

Di seguito è riportato il protocollo di richiesta per aggiungere una forma a una diapositiva:

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

Aggiungere un video a una slide

Il seguente esempio di codice di presentations.batchUpdate mostra come utilizzare il metodo CreateVideoRequest per incorporare un video in una slide specificata dal PAGE_ID. Questa richiesta riduce in scala e posiziona il video nella slide e imposta l'ID del video su PAGE_ELEMENT_ID. L'identificatore univoco del video di origine è impostato su VIDEO_ID. Ad esempio, il video di YouTube all'indirizzo https://www.youtube.com/watch?v=7U3axjORYZ0 ha l'ID 7U3axjORYZ0.

Di seguito è riportato il protocollo di richiesta per aggiungere un video a una slide:

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

Copiare e modificare un elemento

Il seguente esempio di codice di presentations.batchUpdate mostra come utilizzare il metodo DuplicateObjectRequest per assumere una forma esistente (specificata dal PAGE_ELEMENT_ID) e crearne una copia (specificata dal COPY_ELEMENT_ID).

Le richieste successive apportano quindi le seguenti modifiche all'oggetto duplicato:

  • Imposta il colore di sfondo sul colore del tema LIGHT2.
  • Sposta la copia verso il basso nella pagina (dalla posizione della forma originale).
  • Imposta il carattere di testo su 18 pt Georgia.
  • Modifica il testo in "Copia forma personale".

Le richieste qui utilizzano maschere di campo per preservare le proprietà della forma che non sono state modificate (come lo stile di contorno). Anche l'uso delle maschere di campo migliora le prestazioni.

Per ulteriori informazioni sulla copia di una diapositiva, vedi l'esempio di Copia di una diapositiva.

Di seguito è riportato il protocollo di richiesta per copiare e modificare un elemento:

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

Ecco il possibile aspetto di una forma e del relativo testo dopo questi aggiornamenti:

Copiare e modificare il risultato di una ricetta di elementi.

Modificare la struttura di un'immagine o di un video

Il seguente esempio di codice di presentations.batchUpdate mostra come utilizzare il metodo UpdateImagePropertiesRequest per aggiornare l'aspetto dei contorni di un'immagine specificata dal IMAGE_ELEMENT_ID. Utilizza inoltre il metodo UpdateVideoPropertiesRequest per aggiornare l'aspetto generale di un video incorporato specificato dal VIDEO_ELEMENT_ID.

Le richieste apportano le seguenti modifiche all'oggetto:

  • Imposta il colore dei contorni dell'immagine sul colore del tema ACCENT5 con trasparenza parziale.
  • Imposta il colore dei contorni del video sul colore del tema ACCENT1 senza trasparenza.
  • Imposta i pesi di contorno a 3 pt per entrambi.
  • Imposta lo stile del contorno dell'immagine su SOLID.
  • Imposta lo stile della struttura del video su DASH_DOT.

Sia il metodo UpdateImagePropertiesRequest che il metodo UpdateVideoPropertiesRequest possono modificare solo l'aspetto dei contorni di immagini e video. Tutte le altre proprietà sono di sola lettura. Le richieste qui utilizzano maschere di campo per specificare che deve essere modificato solo il contorno per proteggere il codice da future modifiche dell'API. Anche l'uso di maschere di campo migliora le prestazioni.

Di seguito è riportato il protocollo di richiesta per modificare il contorno di un'immagine o di un video:

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

Ecco il possibile aspetto di un'immagine e di un video incorporato dopo questi aggiornamenti:

Il risultato di ricette per contorni
di immagini e video.

Modificare il contorno di una forma

Il seguente esempio di codice di presentations.batchUpdate mostra come utilizzare il metodo UpdateShapePropertiesRequest per assumere una forma esistente (specificata dal PAGE_ELEMENT_ID) e aggiornarne l'aspetto.

Le richieste apportano le seguenti modifiche all'oggetto:

  • Imposta il colore dei contorni sul colore del tema ACCENT5 con trasparenza parziale.
  • Imposta lo spessore del contorno a 3 pt.
  • Imposta lo stile dei contorni su LONG_DASH.

Le richieste qui utilizzano mascherine di campo per preservare le proprietà della forma che non sono state modificate (come il colore di riempimento della forma). Anche l'uso delle maschere di campo migliora le prestazioni.

Di seguito è riportato il protocollo di richiesta per modificare il contorno di una forma:

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

Dopo questi aggiornamenti, l'aspetto di una forma potrebbe essere:

Modifica il risultato della ricetta con struttura.

Formattare il testo in una forma o in una casella di testo

Il seguente esempio di codice di presentations.batchUpdate mostra come utilizzare il metodo UpdateTextStyleRequest per assumere una forma esistente (specificata dal PAGE_ELEMENT_ID) e aggiornarne l'aspetto.

Le richieste apportano le seguenti modifiche all'oggetto:

  • Imposta il colore del testo sul colore del tema ACCENT5.
  • Imposta il carattere in grassetto, corsivo da 18 pt per la Corsiva.
  • Sottolinea il testo.

Le richieste in questo campo utilizzano mascherine di campo per preservare le proprietà dello stile di testo che non vengono modificate (come colore di sfondo, link o offset della base di riferimento). L'uso delle maschere dei campi migliora anche le prestazioni.

Di seguito è riportato il protocollo di richiesta per formattare il testo in una forma o in una casella di testo:

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

Ecco come potrebbe presentarsi il testo della forma dopo questi aggiornamenti:

Modifica il risultato della formula
in formato testo.

Importa un grafico da Fogli Google

Il seguente esempio di codice di presentations.batchUpdate mostra come utilizzare il metodo CreateSheetsChartRequest per importare un grafico da un foglio e inserirlo in una slide specificata dal PAGE_ID.

La richiesta richiede l'ID del foglio di lavoro (specificato da SPREADSHEET_ID) e l'ID del grafico del foglio di lavoro (specificato dalla SPREADSHEET_CHART_ID). L'ID del grafico all'interno della presentazione di Presentazioni è specificato dal PRESENTATION_CHART_ID.

Inoltre, la richiesta imposta il valore LinkingMode del grafico di Presentazioni su LINKED, in modo che tu possa aggiornare il grafico incorporato se il grafico nel foglio di lavoro di origine viene aggiornato.

Di seguito è riportato il protocollo di richiesta per importare un grafico da Fogli:

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

Aggiornare un grafico da Fogli

Il seguente esempio di codice di presentations.batchUpdate mostra come utilizzare il metodo RefreshSheetsChartRequest per aggiornare un grafico collegato in una presentazione, sostituendolo con la versione più recente del grafico dal foglio di lavoro di origine di Fogli. La richiesta richiede l'ID grafico all'interno della presentazione (specificato da PRESENTATION_CHART_ID).

Di seguito è riportato il protocollo di richiesta per aggiornare un grafico da Fogli:

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