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