表示オペレーション

Google Slides API を使用すると、プレゼンテーション ファイルを作成したり、既存のプレゼンテーション ファイルを管理したりできます。このページの例では、presentations.batchUpdate メソッドを使用して一般的なページ表示操作を行います。

これらの例では、特定の言語に依存しない HTTP リクエストの形式を採用しています。Google API クライアント ライブラリを使用してバッチ アップデートをさまざまな言語で実装する方法については、次のガイドをご覧ください。

プレゼンテーションを作成する

次の presentations.create コードサンプルは、「My New Presentation」というタイトルの空のプレゼンテーション ファイルを作成する方法を示しています。

Google Drive API の files.create メソッドを使用して、MIME タイプとして application/vnd.google-apps.presentation を指定する方法でも、空のプレゼンテーション ファイルを作成できます。

プレゼンテーションを作成するリクエスト プロトコルは次のとおりです。

POST https://slides.googleapis.com/v1/presentations
{
  "title": "My New Presentation"
}

既存のプレゼンテーション ファイルのリストを取得する

Slides API にはプレゼンテーションのリストを取得するメソッドはありませんが、Drive API にはあります。files.list メソッド(以下を参照)は、フィールド マスクを使用して、ドライブからプレゼンテーション ファイルのリストを返します。このリストには、ファイル ID、ファイル名、ファイルを開くリンクが含まれます。このリクエストでは、MIME タイプとして application/vnd.google-apps.presentation も指定しています。

既存のプレゼンテーション ファイルを一覧表示するリクエスト プロトコルは次のとおりです。

GET https://www.googleapis.com/drive/v3/files?q="mimeType=application/vnd.google-apps.presentation"&fields=files(id,name,webViewLink)

このリクエストのレスポンスの構造は次のとおりです。

{
 "files": [
    {
     "id": "abcdefghijklmnopqrstuvwxyz0123456789",
     "name": "Project Vision",
     "webViewLink": "https://docs.google.com/a/google.com/presentation/d/abcdefghijklmnopqrstuvwxyz0123456789/edit?usp=drivesdk"
    },
    {
     "id": "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",
     "name": "Untitled Presentation",
     "webViewLink": "https://docs.google.com/a/google.com/presentation/d/ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/edit?usp=drivesdk"
    },
    ...
  ]
}

プレゼンテーション全体でテキストを置換する

次の presentations.batchUpdate コードサンプルは、ReplaceAllTextRequest メソッドを使用して、PRESENTATION_ID で指定されたプレゼンテーション全体のテキストを置き換える方法を示しています。プレゼンテーション ID の値は、プレゼンテーションの URL で確認できます。

ここでは「Gizmo Corp.」という文字列のインスタンスは、すべて「Gadget Inc.」というテキストで置換されます。スライドやマスター内のテキスト ボックスやその他の図形内のテキストも置換の対象です。この例では、matchCasetrue に設定することで、テキストの置換で大文字と小文字が区別されます。

プレゼンテーション全体でテキストを置換するリクエスト プロトコルは次のとおりです。

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "replaceAllText": {
          "containsText": {
            "text": "Gizmo Corp.",
            "matchCase": true
          },
          "replaceText": "Gadget Inc."
      }
    }
  ]
}