Документ обнаружения

Документы обнаружения доступны для конкретных версий большинства API. Каждый документ обнаружения API описывает поверхность API, как получить доступ к API и как структурированы запросы и ответы API. Информация, предоставляемая документом обнаружения, включает свойства уровня API, такие как описание API, схемы ресурсов, области проверки подлинности и методы.

Методы

Документ Discovery фокусируется на RESTful-методе вызова API. Метод discovery.apis.list возвращает список всех API, поддерживаемых службой обнаружения API Google, включая URL-адреса для получения документов обнаружения на основе REST.

список
Получите список 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)
      }
    }
  }
}
Имя свойства Ценность Описание Заметки
kind string Тип для этого ответа. Фиксированная строка discovery#restDescription .
discoveryVersion string Укажите версию Discovery API, которая использовалась для создания этого документа.
id string Идентификатор документа обнаружения для API. Например, urlshortener:v1 .
name string Имя API. Например, urlshortener .
canonicalName string Каноническое имя API. Например, программа для Url Shortener .
version string Версия API. Например, v1 .
revision string Ревизия API.
title string Название API. Например, "API сокращения ссылок Google".
description string Описание этого API.
icons object Ссылки на значки 16 x 16 и 32 x 32, представляющие API.
icons. x16 string URL значка 16x16.
icons. x32 string URL значка 32x32.
labels[] list Ярлыки для статуса этого API. Допустимые значения включают limited_availability или deprecated .
protocol string Протокол, описанный в документе. Например, ОТДЫХ.
rootUrl string Корневой URL-адрес, под которым живут все службы API.
parameters object Общие параметры, применимые ко всем API.
parameters. (key) nested object Описание одного параметра.
parameters.(key). id string Уникальный идентификатор для этой схемы.
parameters.(key). type string Тип значения для этой схемы. Список значений можно найти в разделе «тип» в схеме JSON .
parameters.(key). $ref string Ссылка на другую схему. Значение этого свойства является идентификатором другой схемы.
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 Описания перечислений. Каждая позиция соответствует соответствующему значению в массиве enum.
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 Ссылка на другую схему. Значение этого свойства является идентификатором другой схемы.
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 Уникальный идентификатор для этого метода. Это свойство можно использовать для сопоставления методов между разными версиями Discovery.
methods.(key). description string Описание этого метода.
methods.(key). parameters object Детали для всех параметров в этом методе.
methods.(key).parameters. (key) nested object Подробности для одного параметра в этом методе.
methods.(key).parameters.(key). id string Уникальный идентификатор для этой схемы.
methods.(key).parameters.(key). type string Тип значения для этой схемы. Список значений можно найти в разделе «тип» в схеме JSON .
methods.(key).parameters.(key). $ref string Ссылка на другую схему. Значение этого свойства является идентификатором другой схемы.
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 МБ», «2 ГБ» или «3 ТБ».
methods.(key). supportsSubscription boolean Поддерживает ли этот метод подписки.
baseUrl string [УСТАРЕЛО] Базовый URL-адрес для запросов REST.
basePath string [УСТАРЕЛО] Базовый путь для запросов REST.
servicePath string Базовый путь для всех запросов REST.
batchPath string Путь для пакетных запросов REST.
methods.(key). path string Путь URI этого метода REST. Следует использовать вместе со свойством servicePath на уровне API.
methods.(key). httpMethod string Метод HTTP, используемый этим методом.
methods.(key). request object Схема запроса.
methods.(key).request. $ref string Идентификатор схемы для схемы запроса.
methods.(key).request. parameterName string [УСТАРЕЛО] В некоторых API есть это поле из соображений обратной совместимости. Его можно смело игнорировать.
methods.(key). response object Схема ответа.
methods.(key).response. $ref string Идентификатор схемы для схемы ответа.
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, который будет использоваться для загрузки. Следует использовать вместе со свойством rootURL на уровне API.
methods.(key).mediaUpload.protocols. resumable object Поддерживает протокол Resumable Media Upload.
methods.(key).mediaUpload.protocols.resumable. multipart boolean true , если эта конечная точка поддерживает загрузку составных медиафайлов.
methods.(key).mediaUpload.protocols.resumable. path string Путь URI, который будет использоваться для загрузки. Следует использовать в сочетании со свойством rootURL на уровне API.
resources object Ресурсы в этом API.
resources. (key) nested object Описание отдельного ресурса. Содержит методы и подресурсы, связанные с этим ресурсом.
resources.(key). methods object Методы на этом ресурсе.
resources.(key).methods. (key) nested object Описание любых методов на этом ресурсе.
resources.(key).methods.(key). id string Уникальный идентификатор для этого метода. Это свойство можно использовать для сопоставления методов между разными версиями Discovery.
resources.(key).methods.(key). path string Путь URI этого метода REST. Следует использовать вместе со свойством servicePath на уровне API.
resources.(key).methods.(key). flatPath string Путь URI этого метода REST в формате (RFC 6570) без функций уровня 2 ({+var}). Дополнение к свойству 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 Подробности для одного параметра в этом методе.
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 Идентификатор схемы для схемы запроса.
resources.(key).methods.(key). response object Схема ответа.
resources.(key).methods.(key).response. $ref string Идентификатор схемы для схемы ответа.
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 МБ», «2 ГБ» или «3 ТБ».
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, который будет использоваться для загрузки. Следует использовать в сочетании со свойством rootURL на уровне API.
resources.(key).methods.(key).mediaUpload.protocols. resumable object Поддерживает протокол Resumable Media Upload.
resources.(key).methods.(key).mediaUpload.protocols.resumable. multipart boolean true , если эта конечная точка поддерживает загрузку составных медиафайлов.
resources.(key).methods.(key).mediaUpload.protocols.resumable. path string Путь URI, который будет использоваться для загрузки. Следует использовать в сочетании со свойством rootURL на уровне API.
resources.(key).methods.(key). supportsSubscription boolean Поддерживает ли этот метод подписки.
resources.(key). resources object Подресурсы на этом ресурсе.
resources.(key).resources. (key) nested object Описание любых подресурсов на этом ресурсе.