Documento de descubrimiento

Los documentos de descubrimiento están disponibles para versiones específicas de la mayoría de las APIs. Cada documento de descubrimiento de API describe la superficie de la API, cómo acceder a ella y cómo se estructuran las solicitudes y respuestas a la API. La información proporcionada por el documento de descubrimiento incluye propiedades a nivel de la API, como una descripción de la API, esquemas de recursos, permisos de autenticación y métodos.

Métodos

El documento de descubrimiento se centra en el método RESTful para invocar una API. El método discovery.apis.list muestra la lista de todas las APIs compatibles con el servicio de descubrimiento de las APIs de Google, incluidas las URLs para recuperar los documentos de descubrimiento basados en REST.

list
Recupera la lista de las APIs compatibles con este extremo.

Representaciones de recursos

{
  "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",
  "endpoints": [
    {
      "endpointUrl": string,
      "location": string,
      "deprecated": boolean,
      "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
        ]
      }
    }
  },
  "auth": {
    "oauth2": {
      "scopes": {
        (key): {
          "description": string
        }
      }
    }
  },
  "features": [
    string
  ],
  "schemas": {
    (key): {
      "id": string,
      "type": string,
      "$ref": string,
      "description": string,
      "default": string,
      "required": boolean,
      "deprecated": boolean,
      "format": string,
      "pattern": string,
      "minimum": string,
      "maximum": string,
      "enum": [
        string
      ],
      "enumDescriptions": [
        string
      ],
      "enumDeprecated": [
        boolean
      ],
      "repeated": boolean,
      "location": string,
      "properties": {
        (key): (JsonSchema)
      },
      "additionalProperties": (JsonSchema),
      "items": (JsonSchema),
      "annotations": {
        "required": [
          string
        ]
      }
    }
  },
  "methods": {
    (key): {
      "id": string,
      "path": string,
      "httpMethod": string,
      "description": string,
      "deprecated": boolean,
      "parameters": {
        (key): {
          "id": string,
          "type": string,
          "$ref": string,
          "description": string,
          "default": string,
          "required": boolean,
          "deprecated": boolean,
          "format": string,
          "pattern": string,
          "minimum": string,
          "maximum": string,
          "enum": [
            string
          ],
          "enumDescriptions": [
            string
          ],
          "enumDeprecated": [
            boolean
          ],
          "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,
          "deprecated": boolean,
          "parameters": {
            (key): {
              "id": string,
              "type": string,
              "$ref": string,
              "description": string,
              "default": string,
              "required": boolean,
              "deprecated": boolean,
              "format": string,
              "pattern": string,
              "minimum": string,
              "maximum": string,
              "enum": [
                string
              ],
              "enumDescriptions": [
                string
              ],
              "enumDeprecated": [
                boolean
              ],
              "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
        }
      },
      "deprecated": boolean,
      "resources": {
        (key): (RestResource)
      }
    }
  }
}
Nombre de la propiedad Valor Descripción
kind string El tipo de esta respuesta. La cadena fija discovery#restDescription.
discoveryVersion string Indica la versión de la API de Discovery que se usó para generar este documento.
id string El ID del documento de descubrimiento para la API. Por ejemplo, urlshortener:v1.
name string Es el nombre de la API. Por ejemplo, urlshortener.
canonicalName string El nombre canónico de la API. Por ejemplo, Url Shortener.
version string La versión de la API. Por ejemplo, v1.
revision string La revisión de la API.
title string El título de la API. Por ejemplo, “API de acortamiento de URL de Google”.
description string La descripción de esta API.
icons object Vínculos a íconos de 16x16 y 32 x 32 que representan la API.
icons.x16 string Corresponde a la URL del ícono de 16x16.
icons.x32 string La URL del ícono de 32 x 32.
labels[] list Etiquetas para el estado de esta API. Entre los valores válidos, se incluyen: limited_availability o deprecated.
protocol string El protocolo que se describe en el documento. Por ejemplo, REST.
rootUrl string La URL raíz en la que se encuentran todos los servicios de API.
endpoints[] list Una lista de objetos de extremos basados en la ubicación para esta API. Cada objeto contiene la URL del extremo, la ubicación, la descripción y el estado de baja.
endpoints[].endpointUrl string La URL del host de destino del extremo.
endpoints[].location string La ubicación del extremo.
endpoints[].description string Una cadena que describe el host designado por la URL.
endpoints[].deprecated boolean Indica si este extremo está obsoleto.
parameters object Parámetros comunes que se aplican a todas las APIs.
parameters.(key) nested object Descripción de un solo parámetro.
parameters.(key).id string Identificador único de este esquema.
parameters.(key).type string El tipo de valor para este esquema. Puedes encontrar una lista de valores en la sección “tipo” en el esquema de JSON.
parameters.(key).$ref string Una referencia para otro esquema. El valor de esta propiedad es el ID de otro esquema.
parameters.(key).description string Una descripción de este objeto.
parameters.(key).default string El valor predeterminado de esta propiedad (si existe uno).
parameters.(key).required boolean Si el parámetro es obligatorio.
parameters.(key).format string Una expresión regular o clave adicional que ayuda a restringir el valor. Para obtener más detalles, consulta el resumen de tipo y formato.
parameters.(key).pattern string La expresión regular a la que debe ajustarse este parámetro.
parameters.(key).minimum string El valor mínimo de este parámetro.
parameters.(key).maximum string El valor máximo de este parámetro.
parameters.(key).enum[] list Valores que puede tomar este parámetro (si es una enumeración).
parameters.(key).enumDescriptions[] list Las descripciones de enums. Cada posición se asigna al valor correspondiente en el array de enumeración.
parameters.(key).repeated boolean Si este parámetro puede aparecer varias veces.
parameters.(key).location string Indica si este parámetro va a la consulta o a la ruta de las solicitudes de REST.
parameters.(key).properties object Si este es un esquema de un objeto, enumera el esquema de cada propiedad de este objeto.
parameters.(key).properties.(key) nested object Una sola propiedad de este objeto. El valor es en sí mismo un objeto del esquema de JSON que describe esta propiedad.
parameters.(key).additionalProperties nested object Si se trata de un esquema para un objeto, esta propiedad es el esquema de cualquier propiedad adicional con claves dinámicas en este objeto.
parameters.(key).items nested object Si este es un esquema para un array, esta propiedad es el esquema de cada elemento del array.
parameters.(key).annotations object Información adicional sobre esta propiedad.
parameters.(key).annotations.required[] list Una lista de métodos que requieren esta propiedad en las solicitudes.
auth object Información de autenticación.
auth.oauth2 object Información de autenticación de OAuth 2.0.
auth.oauth2.scopes object Permisos de OAuth 2.0 disponibles.
auth.oauth2.scopes.(key) object El valor del permiso.
auth.oauth2.scopes.(key).description string Descripción del permiso.
features[] list Una lista de las funciones compatibles con esta API.
schemas object Los esquemas para esta API.
schemas.(key) nested object Una descripción del esquema individual.
schemas.(key).id string Identificador único de este esquema. Ejemplo: URL
schemas.(key).type string El tipo de valor para este esquema. Se puede encontrar una lista de valores en la sección “tipo” del esquema de JSON.
schemas.(key).$ref string Una referencia para otro esquema. El valor de esta propiedad es el ID de otro esquema.
schemas.(key).description string Una descripción de este objeto.
schemas.(key).default string El valor predeterminado de esta propiedad (si existe uno).
schemas.(key).required boolean Si el parámetro es obligatorio.
schemas.(key).deprecated boolean Indica si este esquema es obsoleto.
schemas.(key).format string Una expresión regular o clave adicional que ayuda a restringir el valor. Para obtener más detalles, consulta el resumen de tipo y formato.
schemas.(key).pattern string La expresión regular a la que debe ajustarse este parámetro.
schemas.(key).minimum string El valor mínimo de este parámetro.
schemas.(key).maximum string El valor máximo de este parámetro.
schemas.(key).enum[] list Valores que puede tomar este parámetro (si es una enumeración).
schemas.(key).enumDescriptions[] list Las descripciones de enums. Cada posición se asigna al valor correspondiente en el array enum.
schemas.(key).enumDeprecated[] list El estado de la baja de las enumeraciones. Cada posición se asigna al valor correspondiente en el array enum.
schemas.(key).repeated boolean Si este parámetro puede aparecer varias veces.
schemas.(key).location string Indica si este parámetro va a la consulta o a la ruta de las solicitudes de REST.
schemas.(key).properties object Si este es un esquema de un objeto, enumera el esquema de cada propiedad de este objeto.
schemas.(key).properties.(key) nested object Una sola propiedad de este objeto. El valor es en sí mismo un objeto del esquema de JSON que describe esta propiedad.
schemas.(key).additionalProperties nested object Si se trata de un esquema para un objeto, esta propiedad es el esquema de cualquier propiedad adicional con claves dinámicas en este objeto.
schemas.(key).items nested object Si este es un esquema para un array, esta propiedad es el esquema de cada elemento del array.
schemas.(key).annotations object Información adicional sobre esta propiedad.
schemas.(key).annotations.required[] list Una lista de métodos que requieren esta propiedad en las solicitudes.
methods object Métodos a nivel de API para esta API.
methods.(key) nested object Una descripción del método individual.
methods.(key).id string Un ID único para este método. Esta propiedad se puede usar para hacer coincidir métodos entre diferentes versiones de descubrimiento.
methods.(key).description string Descripción de este método.
methods.(key).deprecated boolean Indica si este método es obsoleto.
methods.(key).parameters object Son los detalles de todos los parámetros de este método.
methods.(key).parameters.(key) nested object Detalles para un solo parámetro en este método.
methods.(key).parameters.(key).id string Identificador único de este esquema.
methods.(key).parameters.(key).type string El tipo de valor para este esquema.   Se puede encontrar una lista de valores en la sección “tipo” del esquema de JSON.
methods.(key).parameters.(key).$ref string Una referencia para otro esquema. El valor de esta propiedad es el ID de otro esquema.
methods.(key).parameters.(key).description string Una descripción de este objeto.
methods.(key).parameters.(key).default string El valor predeterminado de esta propiedad (si existe uno).
methods.(key).parameters.(key).required boolean Si el parámetro es obligatorio.
methods.(key).parameters.(key).deprecated boolean Si el parámetro es obsoleto.
methods.(key).parameters.(key).format string Una expresión regular o clave adicional que ayuda a restringir el valor. Para obtener más detalles, consulta el resumen de tipo y formato.
methods.(key).parameters.(key).pattern string La expresión regular a la que debe ajustarse este parámetro.
methods.(key).parameters.(key).minimum string El valor mínimo de este parámetro.
methods.(key).parameters.(key).maximum string El valor máximo de este parámetro.
methods.(key).parameters.(key).enum[] list Valores que puede tomar este parámetro (si es una enumeración).
methods.(key).parameters.(key).enumDescriptions[] list Las descripciones de enums. Cada posición se asigna al valor correspondiente en el array enum.
methods.(key).parameters.(key).enumDeprecated[] list El estado de la baja de las enumeraciones. Cada posición se asigna al valor correspondiente en el array enum.
methods.(key).parameters.(key).repeated boolean Si este parámetro puede aparecer varias veces.
methods.(key).parameters.(key).location string Indica si este parámetro va a la consulta o a la ruta de las solicitudes de REST.
methods.(key).parameters.(key).properties object Si este es un esquema de un objeto, enumera el esquema de cada propiedad de este objeto.
methods.(key).parameters.(key).properties.(key) nested object Una sola propiedad de este objeto. El valor es en sí mismo un objeto del esquema de JSON que describe esta propiedad.
methods.(key).parameters.(key).additionalProperties nested object Si se trata de un esquema para un objeto, esta propiedad es el esquema de cualquier propiedad adicional con claves dinámicas en este objeto.
methods.(key).parameters.(key).items nested object Si este es un esquema para un array, esta propiedad es el esquema de cada elemento del array.
methods.(key).parameters.(key).annotations object Información adicional sobre esta propiedad.
methods.(key).parameters.(key).annotations.required[] list Una lista de métodos para los que esta propiedad es obligatoria en las solicitudes.
methods.(key).parameterOrder[] list Lista ordenada de parámetros obligatorios. Esto sirve como una sugerencia para los clientes sobre cómo estructurar las firmas de sus métodos. El array se ordena de modo que el parámetro más significativo aparezca primero.
methods.(key).scopes[] list Permisos de OAuth 2.0 aplicables a este método.
methods.(key).supportsMediaDownload boolean Indica si este método admite descargas de archivos multimedia.
methods.(key).supportsMediaUpload boolean Indica si este método admite cargas de archivos multimedia.
methods.(key).mediaUpload object Parámetros de carga de archivos multimedia.
methods.(key).mediaUpload.accept[] list Rangos de medios MIME para cargas de archivos multimedia aceptables en este método.
methods.(key).mediaUpload.maxSize string Tamaño máximo de una carga de archivos multimedia, como “1 MB”, “2 GB” o “3 TB”.
methods.(key).supportsSubscription boolean Indica si este método admite suscripciones.
baseUrl string [OBSOLETO] La URL base para las solicitudes de REST.
basePath string [OBSOLETO] La ruta base para las solicitudes de REST.
servicePath string La ruta base para todas las solicitudes de REST.
batchPath string La ruta para las solicitudes por lotes de REST.
methods.(key).path string La ruta URI de este método REST. Debe usarse junto con la propiedad servicePath a nivel de la API.
methods.(key).httpMethod string Método HTTP que usa este método.
methods.(key).request object El esquema de la solicitud.
methods.(key).request.$ref string ID de esquema para el esquema de solicitud.
methods.(key).request.parameterName string [OBSOLETO] Algunas APIs tienen este campo por razones de compatibilidad con versiones anteriores. Se puede ignorar sin inconvenientes.
methods.(key).response object El esquema de la respuesta.
methods.(key).response.$ref string ID de esquema para el esquema de respuesta.
methods.(key).mediaUpload.protocols object Protocolos de carga compatibles.
methods.(key).mediaUpload.protocols.simple object Admite la carga como una única solicitud HTTP.
methods.(key).mediaUpload.protocols.simple.multipart boolean Es verdadero si este extremo admite la carga de contenido multimedia multiparte.
methods.(key).mediaUpload.protocols.simple.path string La ruta de URI que se usará para la carga. Debe usarse junto con la propiedad rootURL a nivel de la API.
methods.(key).mediaUpload.protocols.resumable object Admite el protocolo de carga de medios reanudable.
methods.(key).mediaUpload.protocols.resumable.multipart boolean true si este extremo admite la carga de archivos multimedia multiparte.
methods.(key).mediaUpload.protocols.resumable.path string La ruta de URI que se usará para la carga. Debe usarse junto con la propiedad rootURL a nivel de la API.
resources object Los recursos de esta API.
resources.(key) nested object Una descripción del recurso individual. Contiene métodos y subrecursos relacionados con este recurso.
resources.(key).methods object Métodos en este recurso.
resources.(key).methods.(key) nested object Descripción de cualquier método en este recurso.
resources.(key).methods.(key).id string Un ID único para este método. Esta propiedad se puede usar para hacer coincidir métodos entre diferentes versiones de descubrimiento.
resources.(key).methods.(key).path string La ruta URI de este método REST. Debe usarse junto con la propiedad servicePath a nivel de la API.
resources.(key).methods.(key).flatPath string La ruta de URI de este método REST en formato (RFC 6570) sin funciones de nivel 2 ({+var}). Complementaria a la propiedad path.
resources.(key).methods.(key).httpMethod string Método HTTP que usa este método.
resources.(key).methods.(key).description string Descripción de este método.
resources.(key).methods.(key).deprecated boolean Indica si este método es obsoleto.
resources.(key).methods.(key).parameters object Son los detalles de todos los parámetros de este método.
resources.(key).methods.(key).parameters.(key) nested object Detalles para un solo parámetro en este método.
resources.(key).methods.(key).parameters.(key).id string Identificador único de este esquema.
resources.(key).methods.(key).parameters.(key).type string El tipo de valor para este esquema.  Se puede encontrar una lista de valores en la sección “tipo” del esquema de JSON.
resources.(key).methods.(key).parameters.(key).$ref string Una referencia para otro esquema. El valor de esta propiedad es el “ID” de otro esquema.
resources.(key).methods.(key).parameters.(key).description string Una descripción de este objeto.
resources.(key).methods.(key).parameters.(key).default string El valor predeterminado de esta propiedad (si existe uno).
resources.(key).methods.(key).parameters.(key).required boolean Si el parámetro es obligatorio.
resources.(key).methods.(key).parameters.(key).deprecated boolean Si el parámetro es obsoleto.
resources.(key).methods.(key).parameters.(key).format string Una expresión regular o clave adicional que ayuda a restringir el valor. Para obtener más detalles, consulta el resumen de tipo y formato.
resources.(key).methods.(key).parameters.(key).pattern string La expresión regular a la que debe ajustarse este parámetro.
resources.(key).methods.(key).parameters.(key).minimum string El valor mínimo de este parámetro.
resources.(key).methods.(key).parameters.(key).maximum string El valor máximo de este parámetro.
resources.(key).methods.(key).parameters.(key).enum[] list Valores que puede tomar este parámetro (si es una enumeración).
resources.(key).methods.(key).parameters.(key).enumDescriptions[] list Las descripciones de enums. Cada posición se asigna al valor correspondiente en el array enum.
resources.(key).methods.(key).parameters.(key).enumDeprecated[] list El estado de la baja de las enumeraciones. Cada posición se asigna al valor correspondiente en el array enum.
resources.(key).methods.(key).parameters.(key).repeated boolean Si este parámetro puede aparecer varias veces.
resources.(key).methods.(key).parameters.(key).location string Indica si este parámetro va a la consulta o a la ruta de las solicitudes de REST.
resources.(key).methods.(key).parameters.(key).properties object Si este es un esquema de un objeto, enumera el esquema de cada propiedad de este objeto.
resources.(key).methods.(key).parameters.(key).properties.(key) nested object Una sola propiedad de este objeto. El valor es en sí mismo un objeto del esquema de JSON que describe esta propiedad.
resources.(key).methods.(key).parameters.(key).additionalProperties nested object Si se trata de un esquema para un objeto, esta propiedad es el esquema de cualquier propiedad adicional con claves dinámicas en este objeto.
resources.(key).methods.(key).parameters.(key).items nested object Si este es un esquema para un array, esta propiedad es el esquema de cada elemento del array.
resources.(key).methods.(key).parameters.(key).annotations object Información adicional sobre esta propiedad.
resources.(key).methods.(key).parameters.(key).annotations.required[] list Una lista de métodos que requieren esta propiedad en las solicitudes.
resources.(key).methods.(key).parameterOrder[] list Lista ordenada de parámetros obligatorios. Esto sirve como una sugerencia para los clientes sobre cómo estructurar las firmas de sus métodos. El array se ordena de modo que el parámetro más significativo aparezca primero.
resources.(key).methods.(key).request object El esquema de la solicitud.
resources.(key).methods.(key).request.$ref string ID de esquema para el esquema de solicitud.
resources.(key).methods.(key).response object El esquema de la respuesta.
resources.(key).methods.(key).response.$ref string ID de esquema para el esquema de respuesta.
resources.(key).methods.(key).scopes[] list Permisos de OAuth 2.0 aplicables a este método.
resources.(key).methods.(key).supportsMediaDownload boolean Indica si este método admite descargas de archivos multimedia.
resources.(key).methods.(key).supportsMediaUpload boolean Indica si este método admite cargas de archivos multimedia.
resources.(key).methods.(key).mediaUpload object Parámetros de carga de archivos multimedia.
resources.(key).methods.(key).mediaUpload.accept[] list Rangos de medios MIME para cargas de archivos multimedia aceptables en este método.
resources.(key).methods.(key).mediaUpload.maxSize string Tamaño máximo de una carga de archivos multimedia, como “1 MB”, “2 GB” o “3 TB”.
resources.(key).methods.(key).mediaUpload.protocols object Protocolos de carga compatibles.
resources.(key).methods.(key).mediaUpload.protocols.simple object Admite la carga como una única solicitud HTTP.
resources.(key).methods.(key).mediaUpload.protocols.simple.multipart boolean true si este extremo admite la carga de archivos multimedia multiparte.
resources.(key).methods.(key).mediaUpload.protocols.simple.path string La ruta de URI que se usará para la carga. Debe usarse junto con la propiedad rootURL a nivel de la API.
resources.(key).methods.(key).mediaUpload.protocols.resumable object Admite el protocolo de carga de medios reanudable.
resources.(key).methods.(key).mediaUpload.protocols.resumable.multipart boolean true si este extremo admite la carga de archivos multimedia multiparte.
resources.(key).methods.(key).mediaUpload.protocols.resumable.path string La ruta de URI que se usará para la carga. Debe usarse junto con la propiedad rootURL a nivel de la API.
resources.(key).methods.(key).supportsSubscription boolean Indica si este método admite suscripciones.
resources.(key).deprecated boolean Indica si este recurso es obsoleto.
resources.(key).resources object Subrecursos en este recurso.
resources.(key).resources.(key) nested object Descripción de los subrecursos de este recurso.