Google Slides API を使用すると、Google スライドのプレゼンテーションの作成や変更を行うことができます。
アプリは Google Slides API と統合して、ユーザーとシステムから提供されたデータから美しいスライドデッキを自動的に作成できます。たとえば、データベースから顧客の詳細情報を取得し、あらかじめ用意されたテンプレートや選択した構成オプションと組み合わせて、手動で作成する場合のほんのわずかな時間で完成したプレゼンテーションを作成できます。
API の概要
プレゼンテーション コレクションには、プレゼンテーション内の要素を取得して更新できる メソッドが用意されています。
Slides API を使用する作業のほとんどは、プレゼンテーションの作成と更新になるでしょう。これを行うには、 batchUpdate メソッドを使用します。 このメソッドは、 Request オブジェクトのリストを受け取ります。これにより、次のような操作を行うことができます。
- スライドを作成する
- 図形や表などの要素をスライドに追加する
- テキストを挿入、変更、削除する
- 要素に変換を適用する
- スライドの順序を変更する
詳細については、バッチ更新をご覧ください。API の使用方法の簡単なエンドツーエンドの例については、スタートガイドをご覧ください。
プレゼンテーションの構造
Slides API のプレゼンテーションは、ページ 要素を含むページで構成されています。
プレゼンテーションの ID は URL から派生させることができます。
https://docs.google.com/presentation/d/presentationId/edit
プレゼンテーション ID は、文字、数字、一部の特殊文字を含む文字列です。次の正規表現を使用して、Google スプレッドシートの URL からプレゼンテーション ID を抽出できます。
/presentation/d/([a-zA-Z0-9-_]+)
Drive API に精通している場合、presentationId
は
File
リソースの ID に対応します。
ページとページ要素はオブジェクト ID で識別されます。
ページ
Google スライドには、次の種類のページがあります。
| マスター | スライド マスターは、このマスターを使用するすべてのスライドに表示されるデフォルトのテキスト スタイル、背景、ページ 要素を定義します。すべてのスライドに表示する必要があるページ 要素は、マスターに追加する必要があります。ほとんどの プレゼンテーションには 1 つのマスターがありますが、複数のマスターがある場合や、マスターがない場合もあります。 |
| レイアウト | レイアウトは、レイアウトを使用するスライドでページ要素がデフォルトで配置される方法のテンプレートとして機能します。各レイアウトは 1 つの マスターに関連付けられています。 |
| スライド | これらのページには、視聴者に提示するコンテンツが含まれています。 ほとんどのスライドは、マスターとレイアウトに基づいています。スライドの作成時に、各スライドに使用する レイアウトを指定できます。 |
| メモ | これらのページには、スライドのスピーカー ノートを含む図形など、プレゼンテーションの配布資料のコンテンツが含まれています。各スライドには、対応するメモページが 1 つあります。 Slides API で変更できるのは、スピーカー ノートの図形内のテキストのみです。 |
| メモ マスター | メモ マスターは、すべての メモページのデフォルトのテキスト スタイルとページ要素を定義します。メモ マスターは、Slides API では読み取り専用です。 |
ページ要素
ページ要素は、ページに配置される視覚的なコンポーネントです。API は、次の種類のページ要素を公開します。
| グループ | 個々のユニットとして扱われるページ要素のセット。まとめて移動、拡大縮小、回転できます。 |
| シェイプ | 長方形、楕円、テキスト ボックスなどのシンプルな視覚オブジェクト。 図形にはテキストを含めることができるため、スライドを作成する最も一般的なページ要素です。 |
| 画像 | Google スライドにインポートされたグラフィック。 |
| 動画 | Google スライドにインポートされた動画。 |
| 線 | 視覚的な線、曲線、コネクタ。 |
| テーブル | コンテンツのグリッド。 |
| WordArt | 図形のように動作する視覚的なテキスト要素。 |
| SheetsChart | Google スプレッドシートから Google スライドにインポートされたグラフ。 |
バッチ更新
batchUpdate メソッド を使用すると、プレゼンテーションの多くの側面を更新できます。変更はバッチでグループ化されるため、1 つのリクエストが失敗しても、他の(依存する可能性のある)変更は書き込まれません。
batchUpdate メソッドは、1 つ以上の
Request
オブジェクトを受け取ります。各オブジェクトは、実行するリクエストの種類を 1 つだけ指定します。リクエストにはさまざまな種類があります。リクエストのタイプをカテゴリ別に分類した内訳は次のとおりです。
batchUpdate メソッドは レスポンスの本文を返します。
これには、
各リクエストの Response
が含まれます。各レスポンスは、対応するリクエストと同じインデックスを占有します。適用可能なレスポンスがないリクエストの場合、そのインデックスのレスポンスは空になります。通常、さまざまな Create リクエストにはレスポンスがあるため、新しく追加されたオブジェクトの ID を確認できます。
オブジェクト ID の操作
Slides API のプレゼンテーションは、ページと ページ要素で構成されています。これらのオブジェクトには、プレゼンテーション内で一意のオブジェクト ID 文字列が含まれています。
作成時にオブジェクト ID を指定する
batchUpdateこれにより、同じ batchUpdate リクエスト内でオブジェクトを作成して変更できるため、Slides API の呼び出し回数を最小限に抑え、
割り当ての使用量を削減できます。
ほとんどの場合、ランダムなオブジェクト ID を生成することをおすすめします。たとえば、Java を使用している場合は、java.util.UUID.randomUUID().toString() が適切です。
アプリケーションでオブジェクトを長期間追跡する場合は、オブジェクト ID が変更される可能性があるため、オブジェクト ID に依存しないでください。詳細については、次のセクションをご覧ください。
オブジェクト ID を使用せずにオブジェクトを追跡する
Slides API リクエストを行うと、通常、オブジェクト ID は保持されます (例外は、メソッドのリファレンス ドキュメントに記載されています)。 Drive API を使用してプレゼンテーション全体をコピーする場合も、オブジェクト ID は保持されます。
ただし、Slides UI でプレゼンテーションを変更した後もオブジェクト ID が変更されないとは限りません。たとえば、Slides UI でページ要素をコピーして貼り付けた後、元のページ要素を削除すると、ページ要素に新しい一意の ID が割り当てられ、API を介して以前に指定した ID は失われます。そのため、アプリケーションのストレージにオブジェクト ID を保存することはおすすめしません。代わりに、テキスト コンテンツまたは代替テキストでプレゼンテーション内のオブジェクトを検索する必要があります。
通常、新しく作成されたプレゼンテーションでは、デフォルトのスライド、マスター、テキスト ボックスに一貫した ID セットが使用されます。これらの ID は時間の経過とともに変更される可能性があるため、この機能に依存することはおすすめしません。代わりに、 create() または get() の呼び出しによって返されるプレゼンテーション オブジェクトを使用して、変更する要素 を見つけてください。