Google Slides API を使用すると、Google スライドのプレゼンテーションの作成や変更を行うことができます。
アプリは Google スライド 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 スライドにインポートされた動画。 |
線 | 視覚的な線、曲線、コネクタ。 |
テーブル | コンテンツのグリッド。 |
WordArt | 図形のように動作する視覚的なテキスト要素。 |
SheetsChart | Google スプレッドシートからスライドにインポートされたグラフ。 |
バッチ アップデート
batchUpdate メソッドを使用すると、プレゼンテーションのさまざまな要素を更新できます。変更はバッチでグループ化されるため、1 つのリクエストが失敗すると、他の(依存関係がある可能性のある)変更は書き込まれません。
batchUpdate
メソッドは、1 つ以上の Request オブジェクトを受け取って動作します。各オブジェクトは、実行するリクエストの 1 つのタイプを指定します。リクエストにはさまざまな種類があります。リクエストの種類をカテゴリ別に分類した内訳は次のとおりです。
batchUpdate
メソッドは、各リクエストの Response を含むレスポンスの本文を返します。各レスポンスは、対応するリクエストと同じインデックスを占有します。該当するレスポンスがないリクエストの場合、そのインデックスのレスポンスは空になります。通常、さまざまな Create
リクエストにはレスポンスがあり、新しく追加されたオブジェクトの ID を確認できます。
オブジェクト ID の使用
Slides API のプレゼンテーションは、ページとページ要素で構成されています。これらのオブジェクトには、プレゼンテーション内で一意のオブジェクト ID 文字列が含まれます。
作成時にオブジェクト ID を指定する
batchUpdate メソッドを使用してページまたはページ要素を作成するときに、新しいオブジェクトのオブジェクト ID を指定できます。これにより、同じ batchUpdate リクエスト内でオブジェクトを作成して変更できるため、Slides API への呼び出し回数を最小限に抑え、
割り当ての使用量を削減できます。
ほとんどの場合、ランダムなオブジェクト ID を生成することをおすすめします。たとえば、Java を使用している場合は、java.util.UUID.randomUUID().toString()
が適しています。
アプリケーションでオブジェクトを長期間にわたって追跡する場合は、オブジェクト ID が変更される可能性があるため、オブジェクト ID に依存しないでください。詳しくは、次のセクションをご覧ください。
オブジェクト ID を使用せずにオブジェクトを追跡する
通常、Slides API リクエストを行うと、オブジェクト ID は保持されます。(例外はメソッドの参照ドキュメントに記載されています)。Drive API を使用してプレゼンテーション全体をコピーした場合も、オブジェクト ID は保持されます。
ただし、スライドの UI でプレゼンテーションが変更された後もオブジェクト ID が変更されないことを前提にすることはできません。たとえば、スライドの UI を使用してページ要素をコピー&ペーストし、元の要素を削除すると、ページ要素には新しい一意の ID が割り当てられ、API を介して以前に指定した ID は失われます。そのため、アプリケーションのストレージにオブジェクト ID を保存することはおすすめしません。代わりに、テキスト コンテンツまたは代替テキストでプレゼンテーション内のオブジェクトを見つける必要があります。
通常、新しく作成されたプレゼンテーションでは、デフォルトのスライド、マスター、テキスト ボックスに一貫した ID セットが使用されます。これらの ID は時間の経過とともに変更される可能性があるため、この機能に依存することはおすすめしません。代わりに、create() または get() の呼び出しによって返されたプレゼンテーション オブジェクトを使用して、変更する要素を見つけます。