L'API Presentazioni Google consente di creare e modificare una risorsa di PageElement
, tra cui caselle di testo, immagini, tabelle, forme di base, linee e video incorporati. Gli esempi in questa pagina mostrano alcune operazioni comuni relative agli elementi di pagina utilizzando il metodo presentations.batchUpdate
.
In questi esempi vengono utilizzate 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 dell'oggetto pagina. Puoi recuperare il valore dall'URL o utilizzando una richiesta di lettura API.
- PAGE_ELEMENT_ID: indica dove fornisci l'ID oggetto dell'elemento della pagina. Puoi specificare questo ID per gli elementi che crei (con alcune limitazioni) o consentire all'API Presentazioni di crearne uno automaticamente. Gli ID elemento possono essere recuperati tramite una richiesta di lettura dell'API.
Questi esempi vengono presentati come richieste HTTP per essere indipendenti dal linguaggio. Per scoprire come implementare un aggiornamento batch in diversi linguaggi 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 presentations.batchUpdate
mostra come utilizzare il metodo InsertTextRequest
per inserire testo in una casella di testo vuota specificata da PAGE_ELEMENT_ID. L'esempio utilizza quindi 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 l'inserimento è controllato da \t
caratteri.
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:
Aggiungere una forma a una slide
Il seguente esempio di codice per presentations.batchUpdate
mostra come utilizzare il metodo CreateShapeRequest
per aggiungere una forma d'onda a una slide specificata da PAGE_ID.
Questa richiesta specifica il tipo di forma, quindi scala e posiziona la forma nella slide. Dopodiché utilizza il metodo InsertTextRequest
per aggiungere testo alla forma in questione. La richiesta imposta l'ID della riga su
PAGE_ELEMENT_ID.
Di seguito è riportato il protocollo di richiesta per aggiungere una forma a una slide:
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 per presentations.batchUpdate
mostra come utilizzare il metodo CreateVideoRequest
per incorporare un video in una slide specificata da PAGE_ID.
Questa richiesta 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 presentations.batchUpdate
mostra come utilizzare il metodo DuplicateObjectRequest
per assumere una forma esistente (specificata daPAGE_ELEMENT_ID) e creare una copia (specificata dalCOPY_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 del testo su Georgia a 18 pt.
- Modifica il testo in "My Shape Copy".
Queste richieste utilizzano le maschere di campo per preservare le proprietà della forma che non vengono modificate (come lo stile del contorno). L'utilizzo delle maschere di campo migliora anche le prestazioni.
Per ulteriori informazioni sulla copia di una slide, vedi l'esempio di Copia di una slide.
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 della sua copia dopo questi aggiornamenti:
Modificare la struttura di un'immagine o di un video
Il seguente esempio di codice presentations.batchUpdate
mostra come utilizzare il metodo UpdateImagePropertiesRequest
per aggiornare l'aspetto del contorno di un'immagine specificata da IMAGE_ELEMENT_ID. Utilizza inoltre il metodo UpdateVideoPropertiesRequest
per aggiornare l'aspetto dei contorni 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 lo spessore del contorno su 3 pt per entrambi.
- Imposta lo stile dei contorni dell'immagine su
SOLID
. - Imposta lo stile delle strutture 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 modificata solo la struttura
per proteggere il codice da future modifiche all'API. L'utilizzo di maschere di campo migliora
anche le prestazioni.
Di seguito è riportato il protocollo di richiesta per modificare la struttura 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 come potrebbero presentarsi un'immagine e un video incorporato dopo questi aggiornamenti:
Modificare il contorno di una forma
Il seguente esempio di codice per presentations.batchUpdate
mostra come utilizzare il metodo UpdateShapePropertiesRequest
per assumere una forma esistente (specificata daPAGE_ELEMENT_ID) e aggiorna l'aspetto del contorno.
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 su 3 pt.
- Imposta lo stile dei contorni su
LONG_DASH
.
Queste richieste utilizzano le maschere dei campi per preservare le proprietà della forma che non vengono modificate (come il colore di riempimento della forma). L'utilizzo delle maschere di campo migliora anche 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" } } } } } ] }
Ecco come potrebbe apparire una forma dopo questi aggiornamenti:
Formattare il testo in una forma o in una casella di testo
Il seguente esempio di codice presentations.batchUpdate
mostra come utilizzare il metodo UpdateTextStyleRequest
per assumere una forma esistente (specificata daPAGE_ELEMENT_ID) e aggiorna l'aspetto del testo.
Le richieste apportano le seguenti modifiche all'oggetto:
- Imposta il colore del testo sul colore del tema
ACCENT5
. - Imposta il carattere in grassetto e corsivo con 18 pt in Corsiva.
- Sottolinea il testo.
In questo caso, le richieste utilizzano maschere di campo per preservare le proprietà dello stile di testo che non vengono modificate (come il colore di sfondo, i link o gli offset di riferimento). L'utilizzo delle maschere dei campi migliora anche il rendimento.
Di seguito è riportato il protocollo di richiesta per formattare il testo in una forma o 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 apparire il testo della forma dopo questi aggiornamenti:
Importare un grafico da Fogli Google
Il seguente esempio di codice presentations.batchUpdate
mostra come utilizzare il metodo CreateSheetsChartRequest
per importare un grafico da un foglio e inserirlo in una slide specificata da PAGE_ID.
La richiesta richiede l'ID foglio di lavoro (specificato dal SPREADSHEET_ID) e l'ID grafico del foglio di lavoro (specificato dal SPREADSHEET_CHART_ID). L'ID grafico all'interno della presentazione Presentazioni è specificato dal PRESENTATION_CHART_ID.
La richiesta imposta anche 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 presentations.batchUpdate
mostra come utilizzare il metodo RefreshSheetsChartRequest
per aggiornare un grafico collegato in una presentazione, sostituendolo con l'ultima versione del grafico dal foglio di lavoro di origine di Fogli. La richiesta richiede l'ID grafico all'interno della presentazione di Presentazioni (specificato dal 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 } } ] }