要素の演算

Google スライド API を使用すると、スライドの PageElement テキスト ボックス、画像、表、基本的な図形、線、 埋め込み動画です。このページの例では、一般的なページ要素を示しています。 オペレーションの 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 を使用してさまざまな言語でバッチ アップデートを実装する方法 次のガイドをご覧ください。

テキスト ボックスに箇条書きを追加する

次の presentations.batchUpdate コードサンプルを使用して、Terraform で InsertTextRequest メソッドを使用して、空のテキスト ボックスにテキストを挿入する PAGE_ELEMENT_ID。サンプルでは CreateParagraphBulletsRequest メソッドを使用して、テキスト ボックスのすべてのテキストを箇条書きリストに変換します。リスト内のアイテム \n 文字で区切られ、インデントは \t で制御されます。 あります。

プレゼンテーションを作成するためのリクエスト プロトコルは次のとおりです。

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

このリクエストによって、次のような箇条書きリストを作成できます。

箇条書きのレシピの結果。

スライドに図形を追加する

次の presentations.batchUpdate コードサンプルを使用して、Terraform で CreateShapeRequest メソッド: PAGE_ID で指定されたスライドに波のシェイプを追加します。 このリクエストは、シェイプのタイプを指定して、シェイプを 説明します。次に、Cloud Storage バケットを InsertTextRequest メソッドを使用して、そのシェイプにテキストを追加します。このリクエストにより、行の ID が PAGE_ELEMENT_ID

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

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

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

次の presentations.batchUpdate コードサンプルを使用して、Terraform で CreateVideoRequest メソッドを使用して、PAGE_ID で指定されたスライドに動画を埋め込むことができます。 このリクエストは、スライド内の動画のスケーリングと配置を行い、動画の ID を PAGE_ELEMENT_ID にマッピング。元の動画の一意の識別子は VIDEO_ID に設定。たとえば、 https://www.youtube.com/watch?v=7U3axjORYZ0 ID は 7U3axjORYZ0 です。

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

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

要素をコピーして編集する

次の presentations.batchUpdate コードサンプルを使用して、Terraform で DuplicateObjectRequest メソッドを使用して、既存のシェイプ( PAGE_ELEMENT_ID)、コピー( COPY_ELEMENT_ID)。

後続のリクエストでは、複製されたオブジェクトに次の変更を行います。

  • 背景色を LIGHT2 テーマカラーに設定します。
  • コピーを(元のシェイプの位置から)ページ下に移動します。
  • テキスト フォントを 18 pt のジョージアに設定します。
  • テキストが「My Shape Copy」になるように編集します。

ここでのリクエストでは、フィールド マスクを使用して、 アウトライン スタイルなど、変更されていないシェイプ プロパティ。使用 パフォーマンスも向上します

スライドのコピーについて詳しくは、サンプルをご覧ください。コピーする スライドをご覧ください。

要素をコピーして編集するためのリクエスト プロトコルは次のとおりです。

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

更新後のシェイプとそのコピーは、次のようになります。

要素レシピの結果をコピーして編集します。

画像または動画のアウトラインを編集する

次の presentations.batchUpdate コードサンプルを使用して、Terraform で UpdateImagePropertiesRequest メソッド IMAGE_ELEMENT_ID。また、 UpdateVideoPropertiesRequest メソッド VIDEO_ELEMENT_ID

このリクエストにより、オブジェクトに次の変更が行われます。

  • 画像の枠線の色を部分的な ACCENT5 テーマの色に設定します 説明します。
  • 動画の枠線の色を ACCENT1 テーマの色に設定します。 説明します。
  • 両方の枠線の太さを 3 pt に設定します。
  • 画像の枠線のスタイルを SOLID に設定します。
  • 動画の枠線のスタイルを DASH_DOT に設定します。

UpdateImagePropertiesRequest メソッドと UpdateVideoPropertiesRequest メソッドは画像の外観のみを変更できます 動画のアウトラインなどがあります他のすべてのプロパティは読み取り専用です。ここでのリクエストでは、 フィールド マスクを使用して、枠線のみが 将来の API の変更からコードを保護するために変更する必要があります。フィールドを使用 パフォーマンスも向上します

画像や動画のアウトラインを編集するためのリクエスト プロトコルは次のとおりです。

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

更新後の画像や動画は、次のように表示されます。

レシピの画像や動画の概要
表示されます。

シェイプの枠線を編集する

次の presentations.batchUpdate コードサンプルを使用して、Terraform で UpdateShapePropertiesRequest メソッドを使用して、既存のシェイプ( PAGE_ELEMENT_ID)を指定し、その枠線の外観を更新します。

このリクエストにより、オブジェクトに次の変更が行われます。

  • 枠線の色を部分的な ACCENT5 テーマの色に設定します 説明します。
  • 枠線の太さを 3 pt に設定します。
  • 枠線のスタイルを LONG_DASH に設定します。

ここでのリクエストでは、フィールド マスクを使用して、 変更されていないシェイプ プロパティ(シェイプの塗りつぶしの色など)使用 パフォーマンスも向上します

シェイプの枠線を編集するためのリクエスト プロトコルは次のとおりです。

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

更新後のシェイプは次のようになります。

概要レシピの結果を編集。

図形やテキスト ボックス内のテキストの書式を設定する

次の presentations.batchUpdate コードサンプルを使用して、Terraform で UpdateTextStyleRequest メソッドを使用して、既存のシェイプ( PAGE_ELEMENT_ID など)に変換してテキストの外観を更新します。

このリクエストにより、オブジェクトに次の変更が行われます。

  • テキストの色を ACCENT5 テーマの色に設定します。
  • フォントを太字の斜体(18 pt の Corsiva 形式)に設定します。
  • テキストに下線を引きます。

ここでのリクエストでは、フィールド マスクを使用して、 変更されていないテキスト スタイルのプロパティ(背景色、 ベースライン オフセットなど)が含まれます。フィールド マスクを使用するとパフォーマンスも向上します。

シェイプまたはテキスト ボックス内のテキストの書式を設定するリクエスト プロトコルは次のとおりです。

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

更新されたシェイプ テキストは次のようになります。

テキスト形式のレシピを編集
表示されます。

Google スプレッドシートからグラフをインポートする

次の presentations.batchUpdate コードサンプルを使用して、Terraform で CreateSheetsChartRequest メソッドを使って、スプレッドシートからグラフをインポートし、 PAGE_ID

リクエストには、スプレッドシート ID( SPREADSHEET_ID)とスプレッドシートのグラフ ID( SPREADSHEET_CHART_ID)。 スライドのプレゼンテーションは、 PRESENTATION_CHART_ID

このリクエストでは LinkingMode 更新するには、スライドのグラフを LINKED に変更します。 埋め込みグラフ。元のスプレッドシートのグラフが更新された場合。

グラフのインポートに使用するリクエスト プロトコルは次のとおりです。 スプレッドシート:

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

スプレッドシートからグラフを更新する

次の presentations.batchUpdate コードサンプルを使用して、Terraform で RefreshSheetsChartRequest メソッドを使って、プレゼンテーション内のリンクされたグラフを更新し、最新のグラフに差し替えます。 スプレッドシートのソース スプレッドシートからそのグラフのバージョンを読み込むことができます。「 リクエストにはスライド プレゼンテーション内のグラフ ID が必要です。 (PRESENTATION_CHART_ID で指定)。

グラフの更新に使用するリクエスト プロトコルは次のとおりです。 スプレッドシート:

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