基本的な読み取り

Google Slides API を使用すると、プレゼンテーション、ページ、ページ要素のデータを読み取ることができます。このページの例は、presentations.get メソッドと presentations.pages.get メソッドの両方を使用して一般的な読み取りオペレーションを実行する方法を示しています。

これらの例では、次のプレースホルダを使用します。

  • PRESENTATION_ID - プレゼンテーション ID を指定する場所を示します。この ID の値はプレゼンテーションの URL で確認できます。
  • PAGE_ID - ページ オブジェクト ID を指定する場所を示します。この ID の値は URL から、または API の読み取りリクエストを使用して取得できます。

これらの例では、特定の言語に依存しない HTTP リクエストの形式を採用しています。これらの例は、PRESENTATION_ID1EAYk18WDjIG-zp_0vLm3CsfQh_i8eXc67Jo2O9C6Vuc であるこちらのサンプル プレゼンテーションから読み取ります。このプレゼンテーションの最初のスライドPAGE_IDge63a4b4_1_0 です。

この例では、フィールド マスクを使用して、プレゼンテーション、スライド、ページ要素に関する要求された特定の情報のみを返します。フィールド マスクを使用するとパフォーマンスも向上します。

スライド オブジェクト ID の読み取り

次の presentations.get コードサンプルは、プレゼンテーションからすべてのスライド オブジェクト ID のリストを取得する方法を示しています。ID はスライド プレゼンテーションの順で返され、後に API リクエストで特定のスライドを指定する際にその ID を使用することができます。マスターページとレイアウト ページのオブジェクト ID は、fields=masters.objectIdfields=layout.objectId を使用して同様の方法で取得できます。

スライド オブジェクト ID を読み取るリクエスト プロトコルは次のとおりです。

GET https://slides.googleapis.com/v1/presentations/PRESENTATION_ID?fields=slides.objectId

レスポンスは、リクエストされたオブジェクト ID を含む Presentation オブジェクトで構成されます。

{
  "slides": [
    {
      "objectId": "ge63a4b4_1_0"
    },
    {
      "objectId": "ge63a4b4_1_9"
    },
    {
      "objectId": "ge63a4b4_1_23"
    },
    {
      "objectId": "ge63a4b4_1_35"
    },
    {
      "objectId": "ge63a4b4_1_43"
    }
  ]
}

ページから要素のオブジェクト ID を読み取る

次の presentations.pages.get コードサンプルは、ページ上にあるすべてのページ要素のオブジェクト ID のリストを取得する方法を示しています。

ページから要素のオブジェクト ID を読み取るリクエスト プロトコルは次のとおりです。

GET https://slides.googleapis.com/v1/presentations/PRESENTATION_ID/pages/PAGE_ID?fields=pageElements.objectId

レスポンスは、リクエストされたオブジェクト ID を含む Page オブジェクトで構成されます。

{
  "pageElements": [
    {
      "objectId": "ge63a4b4_1_5"
    },
    {
      "objectId": "ge63a4b4_1_6"
    },
    {
      "objectId": "ge63a4b4_1_7"
    },
    {
      "objectId": "ge63a4b4_1_8"
    }
  ]
}

ページからシェイプ要素を読み取る

次の presentations.pages.get コードサンプルは、ページ上のすべての Shapes のリストを取得する方法を示しています。他の PageElement の種類を取得するには、fields パラメータを使用して指定します。たとえば、fields=pageElements(line,table) は、ページ上に存在する場合に限り、line ページ要素と table ページ要素に関する情報を返します。

ページからシェイプ要素を読み取るリクエスト プロトコルは次のとおりです。

GET https://slides.googleapis.com/v1/presentations/PRESENTATION_ID/pages/PAGE_ID?fields=pageElements.shape

レスポンスは、リクエストされたシェイプ要素を含む Page オブジェクトで構成されます。空の波括弧はシェイプタイプではないページ要素を表し、ここでは画像ページ要素がそれに該当します。

{
  "pageElements": [
    {},
    {},
    {
      "shape": {
        "shapeProperties" {
          "outline" {
            "dashStyle": "SOLID",
            "outlineFill": {
              "solidFill": {
                "alpha": 1,
                "color": {
                  "rgbColor": {}
                }
              },
            },
            "propertyState": "NOT_RENDERED",
            "weight": {
              "magnitude": 9525,
              "unit": "EMU"
            }
          },
          "shadow": {
            "alignment": "BOTTOM_LEFT",
            "alpha": 1,
            "blurRadius": {
              "unit": "EMU"
            },
            "color": {
              "rgbColor": {}
            },
            "propertyState": "NOT_RENDERED",
            "rotateWithShape": false,
            "transform": {
              "scaleX": 1,
              "scaleY": 1,
              "unit": "EMU"
            },
            "type": "OUTER"
          },
          "shapeBackgroundFill" : {
            "propertyState": "NOT_RENDERED",
            "solidFill": {
              "alpha": 1,
              "color": {
                "rgbColor: {
                  "blue": 1,
                  "green": 1,
                  "red": 1
                }
              }
            }
          }
        },
        "shapeType": "TEXT_BOX",
        "text": {
          "textElements": [
            {
              "endIndex": 11,
              "paragraphMarker": {
                "style": {
                  "alignment": "START",
                  "direction": "LEFT_TO_RIGHT",
                  "indentEnd": {
                    "unit": "PT"
                  },
                  "indentFirstLine": {
                    "unit": "PT"
                  },
                  "indentStart": {
                    "unit": "PT"
                  },
                  "lineSpacing": 100,
                  "spaceAbove": {
                    "unit": "PT"
                  },
                  "spaceBelow": {
                    "unit": "PT"
                  },
                  "spacingMode": "COLLAPSE_LISTS"
                }
              }
            },
            {
              "endIndex": 11,
              "textRun": {
                "content": "Baby Album\n",
                "style": {
                  "backgroundColor": {},
                  "baselineOffset": "NONE",
                  "bold": false,
                  "fontFamily": "Arial",
                  "fontSize": {
                    "magnitude": 14,
                    "unit": "PT"
                  },
                  "foregroundColor": {
                    "opaqueColor": {
                      "rgbColor": {}
                    }
                  },
                  "italic": false,
                  "smallCaps": false,
                  "strikethrough": false,
                  "underline": false
                }
              }
            }
          ]
        }
      }
    },
    ...
  ]
}