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