Scrittura di base

L'API Presentazioni Google ti consente di aggiungere e modificare elementi nelle pagine delle presentazioni. La gli esempi in questa pagina mostrano come eseguire operazioni di lettura comuni utilizzando presentations.batchUpdate .

In questi esempi vengono utilizzate le seguenti variabili:

  • PRESENTATION_ID: indica dove fornisci presentazione ID. Puoi il valore per questo ID dall'URL della 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 l'articolo Aggiungere forme testo.

Aggiungere una casella di testo a una slide

Le seguenti presentations.batchUpdate l'esempio di codice mostra come utilizzare CreateShapeRequest per aggiungere una nuova casella di testo (contenente la stringa "La mia casella di testo aggiunta") a un slide specificata da PAGE_ID. Sono specificate due richieste il corpo della richiesta, uno per creare la forma della casella di testo (con una determinata dimensione posizione) e un secondo per inserire testo.

La prima richiesta specifica l'oggetto ID da utilizzare per nella casella di testo. Ciò consente alla seconda richiesta di utilizzarlo nella stessa chiamata API, riducendo overhead.

Di seguito è riportato il protocollo di richiesta per aggiungere una casella di testo a una slide:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createShape": {
        "objectId": PAGE_ELEMENT_ID,
        "shapeType": "TEXT_BOX",
        "elementProperties": {
          "pageObjectId":  PAGE_ID,
          "size": {
            "width": {
              "magnitude": 150,
              "unit": "PT"
            },
            "height": {
              "magnitude": 50,
              "unit": "PT"
            }
          },
          "transform": {
            "scaleX": 1,
            "scaleY": 1,
            "translateX": 200,
            "translateY": 100,
            "unit": "PT"
          }
        }
      }
    },
    {
      "insertText": {
        "objectId": PAGE_ELEMENT_ID,
        "text": "My Added Text Box",
        "insertionIndex": 0
      }
    }
  ]
}

Aggiungi un'immagine a una slide

Le seguenti presentations.batchUpdate l'esempio di codice mostra come utilizzare CreateImageRequest per aggiungere un'immagine a una slide specificata dal valore PAGE_ID. La L'API recupera l'immagine utilizzando IMAGE_URL. Questa richiesta ridimensiona e posiziona l'immagine nella slide.

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

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createImage": {
        "url": IMAGE_URL,
        "elementProperties": {
          "pageObjectId":  PAGE_ID,
          "size": {
            "width": {
              "magnitude": 30,
              "unit": "PT"
            },
            "height": {
              "magnitude": 30,
              "unit": "PT"
            }
          },
          "transform": {
            "scaleX": 1,
            "scaleY": 1,
            "translateX": 200,
            "translateY": 100,
            "unit": "PT"
          }
        }
      }
    }
  ]
}

Eliminare una pagina o un elemento di pagina

Le seguenti presentations.batchUpdate l'esempio di codice mostra come utilizzare DeleteObjectRequest per eliminare l'elemento della pagina specificato da PAGE_ELEMENT_ID e la slide specificata da PAGE_ID usando due richieste separate.

Di seguito è riportato il protocollo di richiesta per eliminare una pagina o un elemento di pagina:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "deleteObject": {
        "objectId": PAGE_ELEMENT_ID
      },
      "deleteObject": {
        "objectId":  PAGE_ID
      }
    }
  ]
}

Modificare il testo in una forma specificata

Le seguenti presentations.batchUpdate l'esempio di codice mostra come utilizzare DeleteTextRequest per sostituire una parte del testo presente nella forma specificata PAGE_ELEMENT_ID. A tale scopo, elimina prima il testo utilizzando l'startIndex in base zero, quindi inserisci il nuovo testo in quella posizione. In questo ad esempio, la stringa di testo originale "My Shape Text: ????" viene sostituito da "My Testo forma: trapezio."

Questa richiesta riguarda solo il testo in una forma specificata. Per sostituire testo in qualsiasi punto all'interno di una presentazione, utilizza ReplaceAllTextRequest .

Di seguito è riportato il protocollo di richiesta per modificare il testo in una forma specificata:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "deleteText": {
        "objectId": PAGE_ELEMENT_ID,
        "textRange": {
          "type": "FROM_START_INDEX",
          "startIndex": 15
        }
      }
    },
    {
      "insertText": {
        "objectId": PAGE_ELEMENT_ID,
        "text": "Trapezoid",
        "insertionIndex": 15
      }
    }
  ]
}

Sostituzione di un tag di forma con un'immagine

I tag sono caselle di testo o forme con un nome di stringa univoco, come "nome-intestatario-account".

Le seguenti presentations.batchUpdate l'esempio di codice mostra come utilizzare CreateImageRequest per sostituire una singola istanza di un tag di forma con un'immagine, mantenendo nella stessa posizione e ridimensionarla per adattarla alle dimensioni del tag, mantenendo al contempo lo stile proporzioni.

La richiesta può essere utilizzata anche per sostituire un'immagine con un'altra. La richiesta consiste nell'aggiungere la nuova immagine e poi nel eliminare il tag.

Il metodo CreateImageRequest sostituisce solo una forma specificata. Per sostituire un tag forme ovunque all'interno di una presentazione, utilizza ReplaceAllShapesWithImageRequest .

Il tag di forma presenta i seguenti elementi: PageElement (che puoi trovare utilizzando presentations.pages.get richiesta):

{
  "objectId": PAGE_ELEMENT_ID,
  "size": {
    "width": {
      "magnitude": 3000000,
      "unit": "EMU"
    },
    "height": {
      "magnitude": 3000000,
      "unit": "EMU"
    }
  },
  "transform": {
    "scaleX": 1.13,
    "scaleY": 0.62,
    "translateX": 4800000,
    "translateY":  450000,
    "unit": "EMU"
  },
  "shape": {
    "shapeType": "RECTANGLE"
  }
}

La forma si trova nella slide specificata da PAGE_ID. Per specificare l'immagine che sostituisce la forma, l'API recupera l'immagine utilizzando IMAGE_URL. Per mantenere le proporzioni dell'immagine limitandole. alla dimensione del tag, CreateImageRequest imposta sia la dimensione dell'immagine sul prodotto della dimensione e la scala del tag, sia la scala dell'immagine viene calcolata in base a 1. Per ulteriori informazioni, consulta Conservare l'aspetto. rapporto.

Di seguito è riportato il protocollo di richiesta per sostituire un tag di forma con un'immagine:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createImage": {
        "url": IMAGE_URL,
        "elementProperties": {
          "pageObjectId":  PAGE_ID,
          "size": {
            "width": {
              "magnitude": 3000000 * 1.13,
              "unit": "EMU"
            },
            "height": {
              "magnitude": 3000000 * 0.62,
              "unit": "EMU"
            }
          },
          "transform": {
            "scaleX": 1,
            "scaleY": 1,
            "translateX": 4800000,
            "translateY": 450000,
            "unit": "PT"
          }
        }
      }
    },
    {
      "deleteObject": {
        "objectId": PAGE_ELEMENT_ID
      }
    }
  ]
}