表示オペレーション

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

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

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

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

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

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

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.」という文字列はすべて「ガジェット Inc」というテキストに置き換えられます。これには、テキスト ボックスなどのシェイプ、スライド、マスター内のテキストが含まれます。この場合、テキストの置換では matchCasetrue に設定することで大文字と小文字が区別されます。

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

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