Google スライドの API を使用すると、Google スライドのプレゼンテーションを作成、変更できます。
Google スライド API をアプリに組み込んで、ユーザーおよびシステム提供データから自動的に見栄えの良いスライド資料を作成できます。たとえば、データベースにある顧客の詳細を使用して、事前に設計されたテンプレートや選択した構成オプションと組み合わせることで、手動で作成するよりもわずかな時間で完成したプレゼンテーションを作成できます。
API の概要
presentations コレクションには、プレゼンテーション内の要素を取得、更新するためのメソッドが用意されています。
通常は、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 つのマスターに関連付けられています。 |
スライド | これらのページには、ユーザーに表示するコンテンツが含まれています。ほとんどのスライドはマスターとレイアウトに基づいています。各スライドに使用するレイアウトは、作成時に指定できます。 |
注 | このページには、スライドのスピーカー ノートを含むシェイプなど、プレゼンテーション資料のコンテンツが含まれています。各スライドには、それぞれ対応するメモページがあります。スピーカー ノート シェイプ内のテキストのみ、Slides API で変更できます。 |
ノートマスター | ノートマスターでは、すべてのノートページのデフォルトのテキスト スタイルとページ要素を定義します。Slides API では、ノートマスターは読み取り専用です。 |
ページ要素
ページ要素は、ページに配置される視覚的コンポーネントです。この API は、次のようなページ要素を公開します。
グループ | 個別の単位として処理されるページ要素のセット。これらは一緒に移動、スケーリング、回転できます。 |
形 | 長方形、楕円、テキスト ボックスなどのプレーンな視覚的オブジェクト。図形にはテキストを含めることができるため、図形はスライドを作成する最も一般的なページ要素です。 |
画像 | スライドにインポートされたグラフィック。 |
動画 | スライドにインポートされた動画。 |
線 | 視覚的な線、曲線、コネクタ。 |
テーブル | コンテンツのグリッド。 |
ワードアート | シェイプのように動作する視覚的なテキスト要素。 |
スプレッドシートのグラフ | Google スプレッドシートからスライドにインポートされたグラフ。 |
バッチ アップデート
batchUpdate メソッドを使用すると、プレゼンテーションのさまざまな要素を更新できます。変更はバッチにグループ化されるため、1 つのリクエストが失敗した場合、他の(依存する可能性がある)変更は書き込まれません。
batchUpdate
メソッドは、1 つ以上の Request オブジェクトを取得することで機能します。各オブジェクトは、実行するリクエストの種類を 1 つ指定します。リクエストにはさまざまな種類があります。ここでは、リクエストの種類をカテゴリに分類しています。
batchUpdate
メソッドは、各リクエストのレスポンスを含むレスポンスの本文を返します。各レスポンスは、対応するリクエストと同じインデックスを占有します。該当するレスポンスがないリクエストの場合、そのインデックスのレスポンスは空になります。通常、さまざまな Create
リクエストにはレスポンスが含まれているため、新しく追加されたオブジェクトの ID を確認できます。
オブジェクト ID の使用
Slides API では、プレゼンテーションはページとページ要素で構成されます。これらのオブジェクトには、プレゼンテーション内で一意のオブジェクト ID 文字列が含まれます。
作成時にオブジェクト ID を指定する
batchUpdate メソッドを使用してページまたはページ要素を作成する際に、必要に応じて新しいオブジェクトのオブジェクト ID を指定できます。これにより、1 つの batchUpdate リクエスト内でオブジェクトを作成して変更できるため、Slides API の呼び出し回数が最小限に抑えられ、割り当て使用量が削減されます。
ほとんどの場合、ランダムなオブジェクト ID を生成することをおすすめします。たとえば、Java を使用している場合、java.util.UUID.randomUUID().toString()
は問題なく機能します。
アプリケーションが長期間にわたってオブジェクトを追跡する場合は、変更される可能性があるため、オブジェクト ID に依存しないでください。詳しくは、次のセクションをご覧ください。
オブジェクト ID を使用せずにオブジェクトを追跡する
Slides API をリクエストすると、通常、オブジェクト ID は保持されます。(メソッドのリファレンス ドキュメントで例外が呼び出されます)。Drive API を使用してプレゼンテーション全体のコピーを作成した場合も、オブジェクト ID は保持されます。
ただし、スライドの UI でプレゼンテーションが変更された後で、オブジェクト ID が変更されていないことを前提にすることはできません。たとえば、スライドの UI を使ってページ要素をコピーして貼り付けた後、元のページ要素を削除すると、そのページ要素には新しい一意の ID が付与され、以前に API で指定した ID は失われます。そのため、オブジェクト ID をアプリのストレージに保存することはおすすめしません。代わりに、テキスト コンテンツまたは代替テキストでプレゼンテーション内のオブジェクトを見つける必要があります。
新しく作成したプレゼンテーションでは通常、デフォルトのスライド、マスター、テキスト ボックスで一貫した ID のセットを使用します。これらの ID は後で変更される可能性があるため、この機能に依存することはおすすめしません。代わりに、create() または get() の呼び出しで返されたプレゼンテーション オブジェクトを使用して、変更する要素を探します。