ディスカバリ ドキュメント

ディスカバリ ドキュメントは、ほとんどの API の特定のバージョンで使用できます。各 API ディスカバリ ドキュメントには、API のサーフェス、API へのアクセス方法、API のリクエストとレスポンスの構造が記載されています。ディスカバリ ドキュメントで提供される情報には、API の説明、リソース スキーマ、認証スコープ、メソッドなど、API レベルのプロパティが含まれます。

Methods

ディスカバリ ドキュメントでは、RESTful API の呼び出しメソッドに焦点を当てています。discovery.apis.list メソッドは、Google API Discovery Service によってサポートされているすべての API のリストを返します。これには、REST ベースのディスカバリ ドキュメントを取得するための URL も含まれます。

list
このエンドポイントでサポートされている API のリストを取得します。

リソース表現

{
  "kind": "discovery#restDescription",
  "discoveryVersion": "v1",
  "id": string,
  "name": string,
  "canonicalName": string,
  "version": string,
  "revision": string,
  "title": string,
  "description": string,
  "icons": {
    "x16": string,
    "x32": string
  },
  "documentationLink": string,
  "labels": [
    string
  ],
  "protocol": "rest",
  "baseUrl": string,
  "basePath": string,
  "rootUrl": string,
  "servicePath": string,
  "batchPath": "batch",
  "parameters": {
    (key): {
      "id": string,
      "type": string,
      "$ref": string,
      "description": string,
      "default": string,
      "required": boolean,
      "format": string,
      "pattern": string,
      "minimum": string,
      "maximum": string,
      "enum": [
        string
      ],
      "enumDescriptions": [
        string
      ],
      "repeated": boolean,
      "location": string,
      "properties": {
        (key): (JsonSchema)
      },
      "additionalProperties": (JsonSchema),
      "items": (JsonSchema),
      "annotations": {
        "required": [
          string
        ]
      }
    }
  },
  "auth": {
    "oauth2": {
      "scopes": {
        (key): {
          "description": string
        }
      }
    }
  },
  "features": [
    string
  ],
  "schemas": {
    (key): {
      "id": string,
      "type": string,
      "$ref": string,
      "description": string,
      "default": string,
      "required": boolean,
      "format": string,
      "pattern": string,
      "minimum": string,
      "maximum": string,
      "enum": [
        string
      ],
      "enumDescriptions": [
        string
      ],
      "repeated": boolean,
      "location": string,
      "properties": {
        (key): (JsonSchema)
      },
      "additionalProperties": (JsonSchema),
      "items": (JsonSchema),
      "annotations": {
        "required": [
          string
        ]
      }
    }
  },
  "methods": {
    (key): {
      "id": string,
      "path": string,
      "httpMethod": string,
      "description": string,
      "parameters": {
        (key): {
          "id": string,
          "type": string,
          "$ref": string,
          "description": string,
          "default": string,
          "required": boolean,
          "format": string,
          "pattern": string,
          "minimum": string,
          "maximum": string,
          "enum": [
            string
          ],
          "enumDescriptions": [
            string
          ],
          "repeated": boolean,
          "location": string,
          "properties": {
            (key): (JsonSchema)
          },
          "additionalProperties": (JsonSchema),
          "items": (JsonSchema),
          "annotations": {
            "required": [
              string
            ]
          }
        }
      },
      "parameterOrder": [
        string
      ],
      "request": {
        "$ref": string
      },
      "response": {
        "$ref": string
      },
      "scopes": [
        (value)
      ],
      "supportsMediaDownload": boolean,
      "supportsMediaUpload": boolean,
      "mediaUpload": {
        "accept": [
          string
        ],
        "maxSize": string,
        "protocols": {
          "simple": {
            "multipart": true,
            "path": string
          },
          "resumable": {
            "multipart": true,
            "path": string
          }
        }
      },
      "supportsSubscription": boolean
    }
  },
  "resources": {
    (key): {
      "methods": {
        (key): {
          "id": string,
          "path": string,
          "httpMethod": string,
          "description": string,
          "parameters": {
            (key): {
              "id": string,
              "type": string,
              "$ref": string,
              "description": string,
              "default": string,
              "required": boolean,
              "format": string,
              "pattern": string,
              "minimum": string,
              "maximum": string,
              "enum": [
                string
              ],
              "enumDescriptions": [
                string
              ],
              "repeated": boolean,
              "location": string,
              "properties": {
                (key): (JsonSchema)
              },
              "additionalProperties": (JsonSchema),
              "items": (JsonSchema),
              "annotations": {
                "required": [
                  string
                ]
              }
            }
          },
          "parameterOrder": [
            string
          ],
          "request": {
            "$ref": string
          },
          "response": {
            "$ref": string
          },
          "scopes": [
            (value)
          ],
          "supportsMediaDownload": boolean,
          "supportsMediaUpload": boolean,
          "mediaUpload": {
            "accept": [
              string
            ],
            "maxSize": string,
            "protocols": {
              "simple": {
                "multipart": true,
                "path": string
              },
              "resumable": {
                "multipart": true,
                "path": string
              }
            }
          },
          "supportsSubscription": boolean
        }
      },
      "resources": {
        (key): (RestResource)
      }
    }
  }
}
プロパティ名 Value 説明 備考
kind string このレスポンスの種類。固定文字列 discovery#restDescription
discoveryVersion string このドキュメントの生成に使用した Discovery API のバージョンを示します。
id string API のディスカバリ ドキュメントの ID。例: urlshortener:v1
name string API の名前。例: urlshortener
canonicalName string API の正規名。例: Url Shortener
version string API のバージョン。例: v1
revision string API のリビジョン。
title string API のタイトル。(例:「Google Url Shortener API」)。
description string この API の説明。
icons object API を表す 16x16 および 32x32 のアイコンへのリンク。
icons.x16 string 16x16 アイコンの URL。
icons.x32 string 32x32 アイコンの URL。
labels[] list この API のステータスのラベル。有効な値は limited_availabilitydeprecated です。
protocol string ドキュメントに記載されているプロトコル。(REST など)。
rootUrl string すべての API サービスが存在するルート URL。
parameters object すべての API に適用される共通のパラメータ。
parameters.(key) nested object 単一のパラメータの説明。
parameters.(key).id string このスキーマの一意の識別子。
parameters.(key).type string このスキーマの値の型。値のリストは、JSON スキーマの &type 引用符付きセクションにあります。
parameters.(key).$ref string 別のスキーマへの参照。このプロパティの値は別のスキーマの ID です。
parameters.(key).description string このオブジェクトの説明。
parameters.(key).default string このプロパティのデフォルト値(存在する場合)。
parameters.(key).required boolean パラメータが必須かどうか。
parameters.(key).format string 値を制限するのに役立つ追加の正規表現またはキー。詳しくは、タイプと形式の概要をご覧ください。
parameters.(key).pattern string このパラメータが遵守する必要のある正規表現。
parameters.(key).minimum string このパラメータの最小値。
parameters.(key).maximum string このパラメータの最大値。
parameters.(key).enum[] list このパラメータが受け取ることができる値(列挙型の場合)。
parameters.(key).enumDescriptions[] list 列挙型の説明。各位置は、列挙型配列内の対応する値にマッピングされます。
parameters.(key).repeated boolean このパラメータが複数回表示されるかどうか。
parameters.(key).location string このパラメータをクエリに含めるか、REST リクエストのパスに含めるかを指定します。
parameters.(key).properties object これがオブジェクトのスキーマである場合は、このオブジェクトの各プロパティのスキーマを一覧表示します。
parameters.(key).properties.(key) nested object このオブジェクトの単一のプロパティ。値自体は、このプロパティを説明する JSON スキーマ オブジェクトです。
parameters.(key).additionalProperties nested object これがオブジェクトのスキーマである場合、このプロパティは動的キーを持つ追加プロパティのこのオブジェクトのスキーマになります。
parameters.(key).items nested object 配列のスキーマの場合、このプロパティは配列内の各要素のスキーマです。
parameters.(key).annotations object このプロパティの追加情報。
parameters.(key).annotations.required[] list リクエストでこのプロパティを必要とするメソッドのリスト。
auth object 認証情報。
auth.oauth2 object OAuth 2.0 認証情報。
auth.oauth2.scopes object 利用可能な OAuth 2.0 スコープ。
auth.oauth2.scopes.(key) object スコープの値。
auth.oauth2.scopes.(key).description string スコープの説明。
features[] list この API でサポートされている機能のリスト。
schemas object この API のスキーマ。
schemas.(key) nested object 個別のスキーマの説明。
schemas.(key).id string このスキーマの一意の識別子。例: URL
schemas.(key).type string このスキーマの値の型。値の一覧は、JSON スキーマ内の「タイプ」セクションでご確認ください。
schemas.(key).$ref string 別のスキーマへの参照。このプロパティの値は別のスキーマの ID です。
schemas.(key).description string このオブジェクトの説明。
schemas.(key).default string このプロパティのデフォルト値(存在する場合)。
schemas.(key).required boolean パラメータが必須かどうか。
schemas.(key).format string 値を制限するのに役立つ追加の正規表現またはキー。詳しくは、タイプとフォーマットの概要をご覧ください。
schemas.(key).pattern string このパラメータが遵守する必要のある正規表現。
schemas.(key).minimum string このパラメータの最小値。
schemas.(key).maximum string このパラメータの最大値。
schemas.(key).enum[] list このパラメータが受け取ることができる値(列挙型の場合)。
schemas.(key).enumDescriptions[] list 列挙型の説明。各位置は、enum 配列内の対応する値にマッピングされます。
schemas.(key).repeated boolean このパラメータが複数回表示されるかどうか。
schemas.(key).location string このパラメータをクエリに含めるか、REST リクエストのパスに含めるかを指定します。
schemas.(key).properties object これがオブジェクトのスキーマである場合は、このオブジェクトの各プロパティのスキーマを一覧表示します。
schemas.(key).properties.(key) nested object このオブジェクトの単一のプロパティ。値自体は、このプロパティを説明する JSON スキーマ オブジェクトです。
schemas.(key).additionalProperties nested object これがオブジェクトのスキーマである場合、このプロパティは動的キーを持つ追加プロパティのこのオブジェクトのスキーマになります。
schemas.(key).items nested object 配列のスキーマの場合、このプロパティは配列内の各要素のスキーマです。
schemas.(key).annotations object このプロパティの追加情報。
schemas.(key).annotations.required[] list リクエストでこのプロパティを必要とするメソッドのリスト。
methods object この API の API レベルのメソッド。
methods.(key) nested object 個々のメソッドの説明。
methods.(key).id string このメソッドの一意の ID。このプロパティを使用すると、異なるバージョンの Discovery 間でメソッドを照合できます。
methods.(key).description string このメソッドの説明。
methods.(key).parameters object このメソッドのすべてのパラメータの詳細。
methods.(key).parameters.(key) nested object このメソッド内の 1 つのパラメータの詳細。
methods.(key).parameters.(key).id string このスキーマの一意の識別子。
methods.(key).parameters.(key).type string このスキーマの値の型。値の一覧については、JSON スキーマの「タイプ」セクションをご覧ください。
methods.(key).parameters.(key).$ref string 別のスキーマへの参照。このプロパティの値は別のスキーマの ID です。
methods.(key).parameters.(key).description string このオブジェクトの説明。
methods.(key).parameters.(key).default string このプロパティのデフォルト値(存在する場合)。
methods.(key).parameters.(key).required boolean パラメータが必須かどうか。
methods.(key).parameters.(key).format string 値を制限するのに役立つ追加の正規表現またはキー。詳しくは、タイプとフォーマットの概要をご覧ください。
methods.(key).parameters.(key).pattern string このパラメータが遵守する必要のある正規表現。
methods.(key).parameters.(key).minimum string このパラメータの最小値。
methods.(key).parameters.(key).maximum string このパラメータの最大値。
methods.(key).parameters.(key).enum[] list このパラメータが受け取ることができる値(列挙型の場合)。
methods.(key).parameters.(key).enumDescriptions[] list 列挙型の説明。各位置は、enum 配列内の対応する値にマッピングされます。
methods.(key).parameters.(key).repeated boolean このパラメータが複数回表示されるかどうか。
methods.(key).parameters.(key).location string このパラメータをクエリに含めるか、REST リクエストのパスに含めるかを指定します。
methods.(key).parameters.(key).properties object これがオブジェクトのスキーマである場合は、このオブジェクトの各プロパティのスキーマを一覧表示します。
methods.(key).parameters.(key).properties.(key) nested object このオブジェクトの単一のプロパティ。値自体は、このプロパティを説明する JSON スキーマ オブジェクトです。
methods.(key).parameters.(key).additionalProperties nested object これがオブジェクトのスキーマである場合、このプロパティは動的キーを持つ追加プロパティのこのオブジェクトのスキーマになります。
methods.(key).parameters.(key).items nested object 配列のスキーマの場合、このプロパティは配列内の各要素のスキーマです。
methods.(key).parameters.(key).annotations object このプロパティの追加情報。
methods.(key).parameters.(key).annotations.required[] list リクエストでこのプロパティが必要となるメソッドのリスト。
methods.(key).parameterOrder[] list 必須パラメータの順序付きリスト。これは、メソッドのシグネチャを構造化する方法のヒントとなります。配列は、最も重要なパラメータが最初に来るように並べられます。
methods.(key).scopes[] list このメソッドに適用される OAuth 2.0 スコープ。
methods.(key).supportsMediaDownload boolean このメソッドがメディア ダウンロードをサポートしているかどうか。
methods.(key).supportsMediaUpload boolean このメソッドがメディアのアップロードをサポートしているかどうか。
methods.(key).mediaUpload object メディア アップロード パラメータ。
methods.(key).mediaUpload.accept[] list このメソッドにアップロード可能なメディア アップロード用の MIME メディア範囲。
methods.(key).mediaUpload.maxSize string メディア アップロードの最大サイズ(「1 MB」や「2 GB」や「3 TB」など)
methods.(key).supportsSubscription boolean このメソッドが定期購入をサポートしているかどうか。
baseUrl string [非推奨] REST リクエストのベース URL。
basePath string [非推奨] REST リクエストのベースパス。
servicePath string すべての REST リクエストのベースパス。
batchPath string REST バッチ リクエストのパス。
methods.(key).path string この REST メソッドの URI パス。API レベルの servicePath プロパティと組み合わせて使用します。
methods.(key).httpMethod string このメソッドで使用される HTTP メソッド。
methods.(key).request object リクエストのスキーマ。
methods.(key).request.$ref string リクエスト スキーマのスキーマ ID。
methods.(key).request.parameterName string [非推奨] 一部の API には、下位互換性を保つためにこのフィールドがあります。無視しても問題ありません。
methods.(key).response object レスポンスのスキーマ。
methods.(key).response.$ref string レスポンス スキーマのスキーマ ID。
methods.(key).mediaUpload.protocols object サポートされているアップロード プロトコル。
methods.(key).mediaUpload.protocols.simple object 単一の HTTP リクエストとしてのアップロードをサポートします。
methods.(key).mediaUpload.protocols.simple.multipart boolean このエンドポイントがマルチパート メディアのアップロードをサポートしている場合は true。
methods.(key).mediaUpload.protocols.simple.path string アップロードに使用する URI パス。API レベルの rootURL プロパティと組み合わせて使用します。
methods.(key).mediaUpload.protocols.resumable object 再開可能なメディア アップロード プロトコルがサポートされています。
methods.(key).mediaUpload.protocols.resumable.multipart boolean このエンドポイントがマルチパート メディアのアップロードをサポートしている場合は、true
methods.(key).mediaUpload.protocols.resumable.path string アップロードに使用する URI パス。API レベルの rootURL プロパティと組み合わせて使用します。
resources object この API のリソース
resources.(key) nested object 個々のリソースの説明。このリソースに関連するメソッドとサブリソースが含まれています。
resources.(key).methods object このリソースのメソッド。
resources.(key).methods.(key) nested object このリソースのメソッドに関する説明。
resources.(key).methods.(key).id string このメソッドの一意の ID。このプロパティを使用すると、異なるバージョンの Discovery 間でメソッドを照合できます。
resources.(key).methods.(key).path string この REST メソッドの URI パス。API レベルの servicePath プロパティと組み合わせて使用します。
resources.(key).methods.(key).flatPath string レベル 2 の機能({+var})がない、この REST メソッドの URI パス(RFC 6570)。path プロパティの補完。
resources.(key).methods.(key).httpMethod string このメソッドで使用される HTTP メソッド。
resources.(key).methods.(key).description string このメソッドの説明。
resources.(key).methods.(key).parameters object このメソッドのすべてのパラメータの詳細。
resources.(key).methods.(key).parameters.(key) nested object このメソッド内の 1 つのパラメータの詳細。
resources.(key).methods.(key).parameters.(key).id string このスキーマの一意の識別子。
resources.(key).methods.(key).parameters.(key).type string このスキーマの値の型。値の一覧については、JSON スキーマの「タイプ」セクションをご覧ください。
resources.(key).methods.(key).parameters.(key).$ref string 別のスキーマへの参照。このプロパティの値は別のスキーマの「ID」です。
resources.(key).methods.(key).parameters.(key).description string このオブジェクトの説明。
resources.(key).methods.(key).parameters.(key).default string このプロパティのデフォルト値(存在する場合)。
resources.(key).methods.(key).parameters.(key).required boolean パラメータが必須かどうか。
resources.(key).methods.(key).parameters.(key).format string 値を制限するのに役立つ追加の正規表現またはキー。詳しくは、タイプとフォーマットの概要をご覧ください。
resources.(key).methods.(key).parameters.(key).pattern string このパラメータが遵守する必要のある正規表現。
resources.(key).methods.(key).parameters.(key).minimum string このパラメータの最小値。
resources.(key).methods.(key).parameters.(key).maximum string このパラメータの最大値。
resources.(key).methods.(key).parameters.(key).enum[] list このパラメータが受け取ることができる値(列挙型の場合)。
resources.(key).methods.(key).parameters.(key).enumDescriptions[] list 列挙型の説明。各位置は、enum 配列内の対応する値にマッピングされます。
resources.(key).methods.(key).parameters.(key).repeated boolean このパラメータが複数回表示されるかどうか。
resources.(key).methods.(key).parameters.(key).location string このパラメータをクエリに含めるか、REST リクエストのパスに含めるかを指定します。
resources.(key).methods.(key).parameters.(key).properties object これがオブジェクトのスキーマである場合は、このオブジェクトの各プロパティのスキーマを一覧表示します。
resources.(key).methods.(key).parameters.(key).properties.(key) nested object このオブジェクトの単一のプロパティ。値自体は、このプロパティを説明する JSON スキーマ オブジェクトです。
resources.(key).methods.(key).parameters.(key).additionalProperties nested object これがオブジェクトのスキーマである場合、このプロパティは動的キーを持つ追加プロパティのこのオブジェクトのスキーマになります。
resources.(key).methods.(key).parameters.(key).items nested object 配列のスキーマの場合、このプロパティは配列内の各要素のスキーマです。
resources.(key).methods.(key).parameters.(key).annotations object このプロパティの追加情報。
resources.(key).methods.(key).parameters.(key).annotations.required[] list リクエストでこのプロパティを必要とするメソッドのリスト。
resources.(key).methods.(key).parameterOrder[] list 必須パラメータの順序付きリスト。これは、メソッドのシグネチャを構造化する方法のヒントとなります。配列は、最も重要なパラメータが最初に来るように並べられます。
resources.(key).methods.(key).request object リクエストのスキーマ。
resources.(key).methods.(key).request.$ref string リクエスト スキーマのスキーマ ID。
resources.(key).methods.(key).response object レスポンスのスキーマ。
resources.(key).methods.(key).response.$ref string レスポンス スキーマのスキーマ ID。
resources.(key).methods.(key).scopes[] list このメソッドに適用される OAuth 2.0 スコープ。
resources.(key).methods.(key).supportsMediaDownload boolean このメソッドがメディア ダウンロードをサポートしているかどうか。
resources.(key).methods.(key).supportsMediaUpload boolean このメソッドがメディアのアップロードをサポートしているかどうか。
resources.(key).methods.(key).mediaUpload object メディア アップロード パラメータ。
resources.(key).methods.(key).mediaUpload.accept[] list このメソッドにアップロード可能なメディア アップロード用の MIME メディア範囲。
resources.(key).methods.(key).mediaUpload.maxSize string メディア アップロードの最大サイズ(「1 MB」や「2 GB」や「3 TB」など)
resources.(key).methods.(key).mediaUpload.protocols object サポートされているアップロード プロトコル。
resources.(key).methods.(key).mediaUpload.protocols.simple object 単一の HTTP リクエストとしてのアップロードをサポートします。
resources.(key).methods.(key).mediaUpload.protocols.simple.multipart boolean このエンドポイントがマルチパート メディアのアップロードをサポートしている場合は、true
resources.(key).methods.(key).mediaUpload.protocols.simple.path string アップロードに使用する URI パス。API レベルの rootURL プロパティと組み合わせて使用します。
resources.(key).methods.(key).mediaUpload.protocols.resumable object 再開可能なメディア アップロード プロトコルがサポートされています。
resources.(key).methods.(key).mediaUpload.protocols.resumable.multipart boolean このエンドポイントがマルチパート メディアのアップロードをサポートしている場合は、true
resources.(key).methods.(key).mediaUpload.protocols.resumable.path string アップロードに使用する URI パス。API レベルの rootURL プロパティと組み合わせて使用します。
resources.(key).methods.(key).supportsSubscription boolean このメソッドが定期購入をサポートしているかどうか。
resources.(key).resources object このリソースのサブリソース。
resources.(key).resources.(key) nested object このリソースのサブリソースの説明。