Google Slides API を使用すると、プレゼンテーション ページに要素を追加したり、要素を変更したりできます。このページの例では、一般的な読み取りオペレーションを使用して
presentations.batchUpdate
メソッドを実行する方法を示します。
これらの例では、次の変数を使用します。
- PRESENTATION_ID: プレゼンテーション ID を指定する場所を示します。この ID の値は、プレゼンテーションの URL から確認できます。
- PAGE_ID:ページ オブジェクト IDを指定する場所を示します。この値は、URL から取得するか、API 読み取りリクエストを使用して取得できます。
- PAGE_ELEMENT_ID:ページ 要素オブジェクト ID を指定する場所を示します。この ID は、作成する要素に指定することも(制限付き)、Slides API に自動的に作成させることもできます。要素 ID は、API 読み取りリクエストで取得できます。
これらの例は、言語に依存しない HTTP リクエストの形式で示されています。Google API クライアント ライブラリを使用してさまざまな言語でバッチ アップデートを実装する方法については、図形と テキストを追加するをご覧ください。
スライドにテキスト ボックスを追加する
次の
presentations.batchUpdate
コードサンプルは、
CreateShapeRequest
メソッドを使用して、新しいテキスト ボックス(「My Added Text Box」という文字列を含む)を
PAGE_IDで指定されたスライドに追加する方法を示しています。リクエストの本文には 2 つのリクエストが指定されています。1 つはテキスト ボックスの図形を作成するリクエスト(サイズと位置を指定)、もう 1 つはテキストを挿入するリクエストです。
最初のリクエストでは、テキスト ボックスに使用するオブジェクト ID を指定します。これにより、2 番目のリクエストで同じ API 呼び出しで使用できるため、オーバーヘッドが削減されます。
スライドにテキスト ボックスを追加するリクエスト プロトコルは次のとおりです。
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"createShape": {
"objectId": PAGE_ELEMENT_ID,
"shapeType": "TEXT_BOX",
"elementProperties": {
"pageObjectId": PAGE_ID,
"size": {
"width": {
"magnitude": 150,
"unit": "PT"
},
"height": {
"magnitude": 50,
"unit": "PT"
}
},
"transform": {
"scaleX": 1,
"scaleY": 1,
"translateX": 200,
"translateY": 100,
"unit": "PT"
}
}
}
},
{
"insertText": {
"objectId": PAGE_ELEMENT_ID,
"text": "My Added Text Box",
"insertionIndex": 0
}
}
]
}スライドに画像を追加する
次の
presentations.batchUpdate
コードサンプルは、
CreateImageRequest
メソッドを使用して、PAGE_IDで指定されたスライドに画像を追加する方法を示しています。API は IMAGE_URL を使用して画像を取得します。このリクエストでは、スライド内の画像のサイズと位置も調整します。
スライドに画像を追加するリクエスト プロトコルは次のとおりです。
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"createImage": {
"url": IMAGE_URL,
"elementProperties": {
"pageObjectId": PAGE_ID,
"size": {
"width": {
"magnitude": 30,
"unit": "PT"
},
"height": {
"magnitude": 30,
"unit": "PT"
}
},
"transform": {
"scaleX": 1,
"scaleY": 1,
"translateX": 200,
"translateY": 100,
"unit": "PT"
}
}
}
}
]
}ページまたはページ要素を削除する
次の
presentations.batchUpdate
コードサンプルは、
DeleteObjectRequest
メソッドを使用して、PAGE_ELEMENT_ID
で指定されたページ要素とPAGE_IDで指定されたスライドを 2 つの別々のリクエストで削除する方法を示しています。
ページまたはページ要素を削除するリクエスト プロトコルは次のとおりです。
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"deleteObject": {
"objectId": PAGE_ELEMENT_ID
},
"deleteObject": {
"objectId": PAGE_ID
}
}
]
}指定した図形のテキストを編集する
次の
presentations.batchUpdate
コードサンプルは、
DeleteTextRequest
メソッドを使用して、
PAGE_ELEMENT_IDで指定された図形内のテキストの一部を置き換える方法を示しています。これを行うには、まず 0 ベースの startIndex を使用してテキストを削除し、その位置に新しいテキストを挿入します。この例では、元のテキスト文字列「My Shape Text: ????」が「My Shape Text: Trapezoid」に置き換えられます。
このリクエストは、指定した図形のテキストにのみ影響します。プレゼンテーション内のすべてのテキストを置き換えるには、
ReplaceAllTextRequest
メソッドを使用します。
指定した図形のテキストを編集するリクエスト プロトコルは次のとおりです。
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "deleteText": { "objectId": PAGE_ELEMENT_ID, "textRange": { "type": "FROM_START_INDEX", "startIndex": 15 } } }, { "insertText": { "objectId": PAGE_ELEMENT_ID, "text": "Trapezoid", "insertionIndex": 15 } } ] }
図形のタグを画像に置き換える
タグは、「account-holder-name」などの一意の文字列名を持つテキスト ボックスまたは図形です。
次の
presentations.batchUpdate
コードサンプルは、
CreateImageRequest
メソッドを使用して、図形のタグの単一のインスタンスを画像に置き換える方法を示しています。このとき、
同じ位置を維持し、画像の
アスペクト比を維持しながらタグのサイズに合わせて拡大縮小します。
このリクエストを使用して、ある画像を別の画像に置き換えることもできます。リクエストは、新しい画像を追加してからタグを削除することで構成されます。
CreateImageRequest メソッドは、指定したシェイプのみを置き換えます。プレゼンテーション内のすべてのタグ図形を置き換えるには、
ReplaceAllShapesWithImageRequest
メソッドを使用します。
図形のタグには、次の
PageElement
プロパティがあります(
presentations.pages.get
リクエストを使用して確認できます)。
{
"objectId": PAGE_ELEMENT_ID,
"size": {
"width": {
"magnitude": 3000000,
"unit": "EMU"
},
"height": {
"magnitude": 3000000,
"unit": "EMU"
}
},
"transform": {
"scaleX": 1.13,
"scaleY": 0.62,
"translateX": 4800000,
"translateY": 450000,
"unit": "EMU"
},
"shape": {
"shapeType": "RECTANGLE"
}
}図形は、PAGE_ID で指定されたスライドにあります。図形を置き換える画像を API で指定するには、
を使用して画像を取得します。
IMAGE_URL画像の縦横比を維持しながらタグのサイズに制限するには、
メソッドで、画像サイズをタグサイズとスケールの積に設定し、
画像スケール ファクタを 1 に設定します。CreateImageRequest詳細については、縦横比
を維持するをご覧ください。
図形のタグを画像に置き換えるリクエスト プロトコルは次のとおりです。
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"createImage": {
"url": IMAGE_URL,
"elementProperties": {
"pageObjectId": PAGE_ID,
"size": {
"width": {
"magnitude": 3000000 * 1.13,
"unit": "EMU"
},
"height": {
"magnitude": 3000000 * 0.62,
"unit": "EMU"
}
},
"transform": {
"scaleX": 1,
"scaleY": 1,
"translateX": 4800000,
"translateY": 450000,
"unit": "PT"
}
}
}
},
{
"deleteObject": {
"objectId": PAGE_ELEMENT_ID
}
}
]
}