Operazioni elemento

L'API Presentazioni Google ti 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 della pagina che utilizzano il metodo presentations.batchUpdate.

Questi esempi utilizzano le seguenti variabili:

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

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

Aggiungere un elenco puntato a una casella di testo

Il seguente presentations.batchUpdate esempio di codice mostra come utilizzare il metodo InsertTextRequest per inserire del 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 caratteri \n, 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.

Aggiungere una forma a una slide

Il seguente presentations.batchUpdate esempio di codice mostra come utilizzare il metodo CreateShapeRequest per aggiungere una forma a onda a una diapositiva specificata da PAGE_ID. Questa richiesta specifica il tipo di forma, quindi la ridimensiona e la posiziona nella presentazione. Poi utilizza il metodo InsertTextRequest per aggiungere del testo alla forma. La richiesta imposta l'ID della riga 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 diapositiva

Il seguente presentations.batchUpdate esempio di codice mostra come utilizzare il metodo CreateVideoRequest per incorporare un video in una diapositiva specificata da PAGE_ID. Questa richiesta ridimensiona e posiziona il video nella diapositiva e imposta il suo ID 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 diapositiva:

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 presentations.batchUpdate esempio di codice mostra come utilizzare il metodo DuplicateObjectRequest per acquisire una forma esistente (specificata da PAGE_ELEMENT_ID) e crearne una copia (specificata da COPY_ELEMENT_ID).

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

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

Le richieste riportate di seguito utilizzano le maschere di campo per preservare le proprietà della forma che non vengono modificate (ad esempio lo stile del contorno). Anche l'utilizzo delle maschere di campo migliora le prestazioni.

Per ulteriori informazioni su come copiare una diapositiva, consulta l'esempio Copiare 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 come potrebbero apparire una forma e la relativa copia dopo questi aggiornamenti:

Copia e modifica un risultato della ricetta dell'elemento.

Modificare il contorno di un'immagine o di un video

Il seguente presentations.batchUpdate esempio di codice 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 del contorno di un video incorporato specificato dal VIDEO_ELEMENT_ID.

Le richieste apportano le seguenti modifiche all'oggetto:

  • Imposta il colore del contorno dell'immagine sul colore del tema ACCENT5 con trasparenza parziale.
  • Imposta il colore del contorno del video sul colore tema ACCENT1 senza trasparenza.
  • Imposta lo spessore del contorno su 3 punti per entrambi.
  • Imposta lo stile del contorno dell'immagine su SOLID.
  • Imposta lo stile del contorno del video su DASH_DOT.

Sia il metodo UpdateImagePropertiesRequest sia 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 riassunto per proteggere il codice da future modifiche dell'API. Anche l'utilizzo 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 come potrebbero apparire un'immagine e un video incorporato dopo questi aggiornamenti:

Risultato delle ricette per schemi di immagini e video.

Modificare il contorno di una forma

Il seguente presentations.batchUpdate esempio di codice mostra come utilizzare il metodo UpdateShapePropertiesRequest per acquisire una forma esistente (specificata da PAGE_ELEMENT_ID) e aggiornare l'aspetto del relativo contorno.

Le richieste apportano le seguenti modifiche all'oggetto:

  • Imposta il colore del contorno sul colore tema ACCENT5 con trasparenza parziale.
  • Imposta lo spessore del contorno su 3 punti.
  • Imposta lo stile del contorno su LONG_DASH.

Le richieste riportate di seguito utilizzano le maschere di campo per preservare le proprietà delle forme che non vengono modificate (ad esempio il colore del riempimento della forma). Anche l'utilizzo 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"
            }
          }
        }
      }
    }
  ]
}

Ecco un esempio di come potrebbe apparire una forma dopo questi aggiornamenti:

Modifica il risultato della ricetta di sfondo.

Formattare il testo in una forma o una casella di testo

Il seguente presentations.batchUpdate esempio di codice mostra come utilizzare il metodo UpdateTextStyleRequest per acquisire una forma esistente (specificata da PAGE_ELEMENT_ID) e aggiornare l'aspetto del relativo testo.

Le richieste apportano le seguenti modifiche all'oggetto:

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

Le richieste riportate di seguito utilizzano le maschere di campo per preservare le proprietà dello stile di testo che non vengono modificate (ad esempio il colore di sfondo, i link o gli offset di base). Anche l'utilizzo delle maschere di campo migliora le prestazioni.

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:

Modifica il risultato della ricetta di formato del testo.

Importare un grafico da Fogli Google

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

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

La richiesta imposta anche il valore LinkingMode del grafico di Presentazioni su LINKED in modo da poter aggiornare il grafico incorporato se il grafico nel foglio di lavoro di origine viene aggiornato.

Di seguito è riportato il protocollo di richiesta per l'importazione di un grafico da 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"
          }
      }
    }
  ]
}

Aggiornare un grafico da Fogli

Il seguente presentations.batchUpdate esempio di codice 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 di Presentazioni (specificato da PRESENTATION_CHART_ID).

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

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