Operazioni elemento

L'API Presentazioni Google consente di creare e modificare PageElement risorse, incluse caselle di testo, immagini, tabelle, forme di base, linee nei video incorporati. Gli esempi in questa pagina mostrano alcuni elementi di pagina comuni delle operazioni utilizzando presentations.batchUpdate .

In questi esempi vengono utilizzate le seguenti variabili:

  • PRESENTATION_ID: indica dove fornisci presentazione ID. Puoi recupera il valore di questo ID dall'URL di presentazione.
  • PAGE_ID: indica dove fornisci l'oggetto pagina ID. Puoi recuperare il valore dall'URL o utilizzando una richiesta di lettura API.
  • PAGE_ELEMENT_ID: indica dove fornisci la pagina ID oggetto dell'elemento. Tu puoi specificare questo ID per gli elementi che crei (con alcuni limitazioni) o consentire all'API Presentazioni di crearne una automaticamente. ID elemento può essere recuperato tramite una richiesta di lettura API.

Questi esempi vengono presentati come richieste HTTP per essere indipendenti dal linguaggio. Per apprendere come implementare un aggiornamento batch in lingue diverse utilizzando l'API di Google librerie client, consulta le seguenti guide:

Aggiungere un elenco puntato a una casella di testo

Le seguenti presentations.batchUpdate l'esempio di codice mostra come utilizzare InsertTextRequest per inserire il testo in una casella di testo vuota specificata dal PAGE_ELEMENT_ID. Il campione utilizza quindi CreateParagraphBulletsRequest per convertire tutto il testo della casella di testo in un elenco puntato. Elementi nell'elenco sono separati da \n caratteri, mentre l'indennizzo è controllato con \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:

Risultato della formula con elenco puntato.

Aggiungere una forma a una slide

Le seguenti presentations.batchUpdate l'esempio di codice mostra come utilizzare CreateShapeRequest per aggiungere una forma d'onda a una slide specificata dal valore PAGE_ID. Questa richiesta specifica il tipo di forma, quindi scala e posiziona la forma nella slide. Utilizza quindi InsertTextRequest per aggiungere testo a quella 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 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

Le seguenti presentations.batchUpdate l'esempio di codice mostra come utilizzare CreateVideoRequest per incorporare un video in una slide specificata dal valore PAGE_ID. Questa richiesta consente di ridimensionare e posizionare il video nella slide, nonché di impostare ID a PAGE_ELEMENT_ID. L'identificatore univoco del video sorgente è 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

Le seguenti presentations.batchUpdate l'esempio di codice mostra come utilizzare DuplicateObjectRequest per assumere una forma esistente (specificato dal PAGE_ELEMENT_ID) e crea 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 del testo su Georgia a 18 pt.
  • Modifica il testo in "My Shape Copy".

Le richieste qui utilizzano maschere di campo per preservare le proprietà della forma che non vengono modificate (ad esempio lo stile dei contorni). Utilizzo delle maschere dei campi migliora anche le prestazioni.

Per ulteriori informazioni sulla copia di una slide, consulta l'esempio Copia di un 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:

Copia e modifica il risultato di una formula di elementi.

Modificare la struttura di un'immagine o di un video

Le seguenti presentations.batchUpdate l'esempio di codice mostra come utilizzare UpdateImagePropertiesRequest per aggiornare l'aspetto dei contorni di un'immagine specificata dal IMAGE_ELEMENT_ID. Utilizza anche 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 parziale e trasparenza.
  • Imposta il colore dei contorni del video sul colore del tema ACCENT1 senza e 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 può modificare solo l'aspetto dell'immagine e scalette dei video. Tutte le altre proprietà sono di sola lettura. Le richieste qui utilizzano maschere di campo per specificare che solo il contorno per proteggere il codice da future modifiche all'API. Campo in uso mascherine migliora anche il rendimento.

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:

Ricette per sagome di immagini e video
o il risultato finale.

Modificare il contorno di una forma

Le seguenti presentations.batchUpdate l'esempio di codice mostra come utilizzare UpdateShapePropertiesRequest per assumere una forma esistente (specificato dal PAGE_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 parziale e trasparenza.
  • Imposta lo spessore del contorno su 3 pt.
  • Imposta lo stile dei contorni su LONG_DASH.

Le richieste qui utilizzano maschere di campo per preservare le proprietà della forma che non vengono modificate (come il colore di riempimento della forma). Utilizzo delle maschere dei campi 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:

Modifica risultato formula schema.

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

Le seguenti presentations.batchUpdate l'esempio di codice mostra come utilizzare UpdateTextStyleRequest per assumere una forma esistente (specificato dal PAGE_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.

Le richieste qui utilizzano maschere di campo per preservare le proprietà dello stile del testo che non vengono modificate (ad esempio il colore di sfondo, o 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:

Modifica formula in formato testo
o il risultato finale.

Importare un grafico da Fogli Google

Le seguenti presentations.batchUpdate l'esempio di codice mostra come utilizzare CreateSheetsChartRequest per importare un grafico da un foglio e posizionarlo in una slide specificata dal PAGE_ID.

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

La richiesta imposta anche LinkingMode del grafico di Presentazioni in LINKED per consentirti di aggiornare grafico incorporato se il grafico nel foglio di lavoro di origine viene aggiornato.

Di seguito è riportato il protocollo di richiesta da cui importare un grafico 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

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

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

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