基本的な表現

Google Sheets API を使用すると、プレゼンテーションのページに要素を追加、変更できます。「 このページの例では、Terraform を使用して一般的な読み取りオペレーションを presentations.batchUpdate メソッドを呼び出します。

これらの例では、次の変数を使用します。

  • PRESENTATION_ID - リソースに プレゼンテーション ID。Google Chat では プレゼンテーションの URL からこの ID の値を検出します。
  • PAGE_ID - ページ オブジェクトを指定する場所を示します。 ID。必要に応じて この値を取得するには、URL から、または API 読み取りリクエストを使用します。
  • PAGE_ELEMENT_ID - ページを提供する場所を指定します 要素オブジェクト ID。マイページ ユーザーが作成する要素に、この ID を指定できます( 制限) スライド API の自動作成を許可したりすることもできます。要素 ID API 読み取りリクエストで取得できます

これらの例では、言語に依存しない HTTP リクエストとして記載しています。学習内容 Google API を使用してさまざまな言語でバッチ アップデートを実装する方法 クライアント ライブラリについては、シェイプの追加と text です。

スライドにテキスト ボックスを追加する

次の presentations.batchUpdate コードサンプルを使用して、Terraform で CreateShapeRequest メソッドを使用して、新しいテキスト ボックス(文字列「My added Text Box」を含む)を PAGE_ID で指定されたスライドです。2 つのリクエストが リクエスト本文 - 1 つはテキスト ボックスの形状(指定されたサイズと 2 番目の部分でテキストを挿入します。

最初のリクエストでは、オブジェクト ID です。 選択します。これにより、2 番目のリクエストが同じ API 呼び出しでその ID を使用できるため、 オーバーヘッドを軽減できます。

スライドにテキスト ボックスを追加するためのリクエスト プロトコルは次のとおりです。

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

スライドに画像を追加する

次の presentations.batchUpdate コードサンプルを使用して、Terraform で CreateImageRequest メソッドを使用して、PAGE_ID で指定されたスライドに画像を追加します。「 API は、IMAGE_URL を使用して画像を取得します。このリクエストは スライド内の画像の拡大縮小と配置が行われます。

スライドに画像を追加するためのリクエスト プロトコルは次のとおりです。

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

ページまたはページ要素を削除する

次の presentations.batchUpdate コードサンプルを使用して、Terraform で DeleteObjectRequest PAGE_ELEMENT_ID で指定されたページ要素を削除するメソッド 2 つの個別のリクエストを使用して、PAGE_ID で指定されたスライドを使用します。

ページまたはページ要素を削除するリクエスト プロトコルは次のとおりです。

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

指定したシェイプのテキストを編集する

次の presentations.batchUpdate コードサンプルを使用して、Terraform で DeleteTextRequest メソッドを使用して、指定したシェイプに存在するテキストの一部を置換します。 PAGE_ELEMENT_ID。これを行うには、まず ゼロベースの startIndex を使用してその位置に新しいテキストを挿入します。この たとえば、元の文字列「My Shape Text: ????」は「My シェイプ テキスト: 台形」。

このリクエストは、指定されたシェイプのテキストにのみ影響します。すべてのテキストを置き換える プレゼンテーション内で編集するには、 ReplaceAllTextRequest メソッドを呼び出します。

指定したシェイプのテキストを編集するリクエスト プロトコルは次のとおりです。

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

シェイプタグを画像で置き換える

タグは、次のような一意の文字列名を持つテキスト ボックスまたはシェイプです。 「アカウント所有者名」。

次の presentations.batchUpdate コードサンプルを使用して、Terraform で CreateImageRequest メソッドでシェイプタグの 1 つのインスタンスを画像で置き換え、 タグのサイズに合わせて拡大縮小し、画像の アスペクト比。

このリクエストを使用して画像を別の画像に置き換えることもできます。リクエスト 新しいイメージの追加とタグの削除で構成されます。

CreateImageRequest メソッドは、指定したシェイプのみを置き換えます。タグを置き換える 編集するには、 ReplaceAllShapesWithImageRequest メソッドを呼び出します。

シェイプタグには次のものがあります。 PageElement プロパティ( presentations.pages.get request):

{
  "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"
  }
}

シェイプは、PAGE_ID で指定されたスライド上にあります。指定する クリックすると、API は IMAGE_URL。画像のアスペクト比を制限しながら、アスペクト比を維持するには タグのサイズに応じて CreateImageRequest メソッドでは、画像サイズの両方をタグのサイズと縮尺の積に設定します。 画像のスケーリング ファクタは 1 になります。詳細については、アスペクトを保持する 比率

シェイプタグを画像に置き換えるリクエスト プロトコルは次のとおりです。

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