はじめに

Google スライド API を使用すると、Google スライド プレゼンテーションを作成、変更できます。

アプリと Google Sheets API を統合すると、ユーザーから提供されたデータとシステムが提供するデータから、美しいスライド資料を自動的に作成できます。たとえば、データベースから顧客の詳細情報を使用し、事前にデザインされたテンプレートや選択した構成オプションと組み合わせることで、手動で作成するよりもわずかな時間でプレゼンテーションを作成できます。

API の概要

presentations コレクションには、プレゼンテーション内の要素を取得および更新するためのメソッドが用意されています。

Google スライド API での作業のほとんどは、プレゼンテーションの作成と更新になります。そのためには、batchUpdate メソッドを使用します。このメソッドは、次のような処理ができる Request オブジェクトのリストを受け取ります。

  • スライドを作成
  • 図形や表などの要素をスライドに追加する
  • テキストを挿入、変更、削除する
  • 要素に変換を適用する
  • スライドの順序を変更する

詳細については、バッチ アップデートをご覧ください。API の使用方法に関する簡単なエンドツーエンドの例については、スタートガイドをご覧ください。

プレゼンテーションの構造

Google スライド API のプレゼンテーションは、ページ要素を含む複数のページで構成されます。

プレゼンテーションの ID は次の URL から取得できます。

https://docs.google.com/presentation/d/presentationId/edit

プレゼンテーション ID は、文字、数字、いくつかの特殊文字を含む文字列です。次の正規表現を使用して、Google スプレッドシートの URL からプレゼンテーション ID を抽出できます。

/presentation/d/([a-zA-Z0-9-_]+)

Drive API に精通している場合、presentationIdファイル リソースの ID に対応しています。

ページとページ要素はオブジェクト ID で識別されます。

Pages

Google スライドには次のようなページがあります。

修士号 スライド マスターは、このマスターを使用するすべてのスライドに表示されるデフォルトのテキスト スタイル、背景、ページ要素を定義します。すべてのスライドに表示する必要があるページ要素は、マスターに追加する必要があります。ほとんどのプレゼンテーションにはマスターが 1 つありますが、複数またはまったくない場合もあります。
レイアウト レイアウトは、レイアウトを使用したスライドでページ要素をデフォルトでどのように配置するかについてのテンプレートとして機能します。各レイアウトは 1 つのマスターに関連付けられます。
スライド このページには、オーディエンスに提示しているコンテンツが含まれています。 ほとんどのスライドはマスターとレイアウトに基づいています。スライドの作成時に使用するレイアウトを指定できます。
メモ これらのページには、スライドのスピーカー ノートを含むシェイプなど、プレゼンテーション資料のコンテンツが含まれています。各スライドには、対応する 1 つのノートページがあります。Sheets API で変更できるのは、スピーカー ノートの図形内のテキストのみです。
メモマスター メモマスターは、すべてのメモページのデフォルトのテキスト スタイルとページ要素を定義します。Sheets API では、メモ マスターは読み取り専用です。

ページ要素

ページ要素は、ページに配置される視覚的コンポーネントです。この API では、さまざまな種類のページ要素が公開されます。

グループ 個別のユニットとして扱われるページ要素のセット。それらを同時に移動、スケーリング、回転できます。
長方形、省略記号、テキスト ボックスなどの単純な視覚的オブジェクト。シェイプにはテキストを含めることができるため、スライドを作成する最も一般的なページ要素です。
画像 スライドにインポートされた画像。
動画 スライドにインポートされた動画。
視覚的な線、曲線、コネクタ
Table コンテンツのグリッド。
WordArt シェイプのように動作する視覚的なテキスト要素。
SheetsChart Google スプレッドシートからスライドにインポートされたグラフ。

バッチ アップデート

batchUpdate メソッドを使用すると、プレゼンテーションのさまざまな側面を更新できます。変更は 1 つのバッチにグループ化されるため、1 つのリクエストが失敗した場合、他の(潜在的な依存する)変更は書き込まれません。

batchUpdate メソッドは、1 つ以上の Request オブジェクトを受け取ることで機能します。各オブジェクトは、実行するリクエストの種類を 1 つ指定します。さまざまなリクエストがあります。ここでは リクエストの種類をカテゴリ別に 分類しています

スライドの操作: CreateSlideRequest
UpdateSlidesPositionRequest
DuplicateObjectRequest
UpdatePagePropertiesRequest
DeleteObjectRequest
ページ要素の操作: CreateShapeRequest
CreateLineRequest
UpdatePageElementTransformRequest
UpdateShapePropertiesRequest
DuplicateObjectRequest
DeleteObjectRequest
テーブルの操作: CreateTableRequest
InsertTableRowsRequest
InsertTableColumnsRequest
DeleteTableRowRequest
DeleteTableColumnRequest
UpdateTableRowPropertiesRequest
UpdateTableColumnPropertiesRequest
UpdateTableBorderPropertiesRequest
UpdateTableCellPropertiesRequest
MergeTableCellsRequest
UnmergeTableCellsRequest
DeleteObjectRequest
グラフの操作: CreateSheetsChartRequest
RefreshSheetsChartRequest
ReplaceAllShapesWithSheetsChartRequest
DeleteObjectRequest
画像と動画を扱う: CreateImageRequest
CreateVideoRequest
UpdateImagePropertiesRequest
UpdateVideoPropertiesRequest
ReplaceAllShapesWithImageRequest
DuplicateObjectRequest
DeleteObjectRequest
テキストの取り扱い: InsertTextRequest
DeleteTextRequest
ReplaceAllTextRequest
CreateParagraphBulletsRequest
DeleteParagraphBulletsRequest
UpdateTextStyleRequest
UpdateParagraphStyleRequest

batchUpdate メソッドは、各リクエストの Response を含むレスポンスの本文を返します。各レスポンスは、対応するリクエストと同じインデックスを占有します。該当するレスポンスがないリクエストの場合、そのインデックスのレスポンスは空になります。通常、さまざまな Create リクエストにはレスポンスがあるため、新しく追加されたオブジェクトの ID を確認できます。

オブジェクト ID の操作

スライド API のプレゼンテーションは、ページページ要素で構成されます。 これらのオブジェクトには、プレゼンテーション内で一意のオブジェクト ID 文字列が含まれます。

作成時にオブジェクト ID を指定する

batchUpdate メソッドを使用してページまたはページ要素を作成する場合、必要に応じて新しいオブジェクトのオブジェクト ID を指定できます。これにより、1 つの batchUpdate リクエスト内でオブジェクトの作成と変更が可能になり、Slides API の呼び出し回数と割り当て使用量が削減されます。

ほとんどの場合、ランダムなオブジェクト ID を生成することをおすすめします。たとえば、Java を使用している場合は、java.util.UUID.randomUUID().toString() が問題なく機能します。

アプリケーションでオブジェクトを長期間にわたって追跡する場合、オブジェクト ID は変更される可能性があります。オブジェクト ID を使用しないでください。詳しくは、次のセクションをご覧ください。

オブジェクト ID を使用せずにオブジェクトを追跡する

スライド API でリクエストを行う際、オブジェクト ID は通常保持されます。(例外については、メソッドのリファレンス ドキュメントで説明されています)。Drive API を使用してプレゼンテーション全体のコピーを作成した場合、オブジェクト ID も保持されます。

ただし、スライド UI でプレゼンテーションを変更した後に、オブジェクト ID が変わらないことを前提にすることはできません。たとえば、ユーザーがスライドの UI を使ってページ要素をコピーして貼り付けた後、元の要素を削除した場合、ページ要素には新しい一意の ID が付与され、以前に API で指定していた ID は失われます。そのため、オブジェクト ID をアプリケーションのストレージに保存することはおすすめしません。プレゼンテーション内のオブジェクトは、テキスト コンテンツまたは代替テキストで検索することをおすすめします。

通常、新規に作成したプレゼンテーションでは、デフォルトのスライド、マスター、テキスト ボックスに対して一貫した ID セットが使用されます。これらの ID は今後変更される可能性があるため、この機能の使用はおすすめしません。代わりに、create() または get() の呼び出しによって返されるプレゼンテーション オブジェクトを使用して、変更する要素を見つけます。