Documento de descubrimiento

Los documentos de Discovery están disponibles para versiones específicas de la mayoría de las APIs. En el documento de descubrimiento de la API, se describe la superficie de la API, cómo acceder a ella y cómo se estructuran las solicitudes y respuestas de la API. La información que brinda 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 de invocar una API. El método discovery.apis.list muestra la lista de todas las APIs compatibles con el servicio de descubrimiento de APIs de Google, incluidas las URLs para recuperar los documentos de descubrimiento basados en REST.

list
Recupera la lista de 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 propiedad Valor Descripción Notas
kind string El tipo de esta respuesta.La string 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 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 Título de la API. Por ejemplo, "API de Google Url Shortener".
description string Es la descripción de esta API.
icons object Vínculos a íconos de 16 x 16 y 32 x 32 que representan la API.
icons.x16 string La URL del ícono de 16x16.
icons.x32 string Es la URL del ícono de 32 x 32.
labels[] list Etiquetas para el estado de esta API. Los valores válidos son 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 la API.
endpoints[] list Una lista de objetos de extremo 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 string que describe el host designado por la URL.
endpoints[].deprecated boolean Indica si este extremo dejó de estar disponible.
parameters object Parámetros comunes que se aplican en todas las API.
parameters.(key) nested object Descripción de un solo parámetro.
parameters.(key).id string Identificador único para 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 JSON.
parameters.(key).$ref string Una referencia a otro esquema. El valor de esta propiedad es el ID de otro esquema.
parameters.(key).description string Es una descripción de este objeto.
parameters.(key).default string El valor predeterminado de esta propiedad (si existe).
parameters.(key).required boolean Indica 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 las enumeraciones. Cada posición se asigna al valor correspondiente en el array enum.
parameters.(key).repeated boolean Indica si este parámetro puede aparecer varias veces.
parameters.(key).location string Si este parámetro va en la consulta o la ruta de las solicitudes de REST.
parameters.(key).properties object Si se trata de un esquema para un objeto, enumere el esquema de cada propiedad de este.
parameters.(key).properties.(key) nested object Una propiedad única de este objeto. El valor es en sí mismo un objeto de esquema 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 se trata de 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 Es el valor del alcance.
auth.oauth2.scopes.(key).description string Descripción del alcance.
features[] list Es 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 para este esquema. Ejemplo: URL
schemas.(key).type string El tipo de valor para este esquema. Puede encontrar una lista de valores en la sección “tipo” del esquema de JSON.
schemas.(key).$ref string Una referencia a otro esquema. El valor de esta propiedad es el ID de otro esquema.
schemas.(key).description string Es una descripción de este objeto.
schemas.(key).default string El valor predeterminado de esta propiedad (si existe).
schemas.(key).required boolean Indica si el parámetro es obligatorio.
schemas.(key).deprecated boolean Indica si este esquema está obsoleto.
schemas.(key).format string Una expresión regular o clave adicional que ayuda a restringir el valorPara obtener más detalles, consulte 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 las enumeraciones. Cada posición se asigna al valor correspondiente en el array enum.
schemas.(key).enumDeprecated[] list Es el estado de baja para las enumeraciones. Cada posición se asigna al valor correspondiente en el array enum.
schemas.(key).repeated boolean Indica si este parámetro puede aparecer varias veces.
schemas.(key).location string Si este parámetro va en la consulta o la ruta de las solicitudes de REST.
schemas.(key).properties object Si se trata de un esquema para un objeto, enumere el esquema de cada propiedad de este.
schemas.(key).properties.(key) nested object Una propiedad única de este objeto. El valor es en sí mismo un objeto de esquema 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 se trata de 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 de 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 Discovery.
methods.(key).description string Descripción de este método.
methods.(key).deprecated boolean Indica si este método dejó de estar disponible.
methods.(key).parameters object Detalles de todos los parámetros de este método.
methods.(key).parameters.(key) nested object Detalles de un solo parámetro en este método.
methods.(key).parameters.(key).id string Identificador único para este esquema.
methods.(key).parameters.(key).type string El tipo de valor para este esquema. Puede encontrar una lista de valores en la sección"tipo" del esquema de JSON.
methods.(key).parameters.(key).$ref string Una referencia a otro esquema. El valor de esta propiedad es el ID de otro esquema.
methods.(key).parameters.(key).description string Es una descripción de este objeto.
methods.(key).parameters.(key).default string El valor predeterminado de esta propiedad (si existe).
methods.(key).parameters.(key).required boolean Indica si el parámetro es obligatorio.
methods.(key).parameters.(key).deprecated boolean Indica si el parámetro dejó de estar disponible.
methods.(key).parameters.(key).format string Una expresión regular o clave adicional que ayuda a restringir el valorPara obtener más detalles, consulte 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 las enumeraciones. Cada posición se asigna al valor correspondiente en el array enum.
methods.(key).parameters.(key).enumDeprecated[] list Es el estado de baja para las enumeraciones. Cada posición se asigna al valor correspondiente en el array enum.
methods.(key).parameters.(key).repeated boolean Indica si este parámetro puede aparecer varias veces.
methods.(key).parameters.(key).location string Si este parámetro va en la consulta o la ruta de las solicitudes de REST.
methods.(key).parameters.(key).properties object Si se trata de un esquema para un objeto, enumere el esquema de cada propiedad de este.
methods.(key).parameters.(key).properties.(key) nested object Una propiedad única de este objeto. El valor es en sí mismo un objeto de esquema 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 se trata de 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 necesaria en las solicitudes.
methods.(key).parameterOrder[] list Lista ordenada de los parámetros obligatorios. Esto sirve como una sugerencia para los clientes sobre cómo estructurar sus firmas de métodos. El array está ordenado de modo que aparezca el parámetro más significativo primero.
methods.(key).scopes[] list Alcances de OAuth 2.0 aplicables a este método.
methods.(key).supportsMediaDownload boolean Si este método admite descargas de contenido multimedia
methods.(key).supportsMediaUpload boolean Si este método admite cargas de contenido multimedia
methods.(key).mediaUpload object Parámetros de carga de contenido multimedia
methods.(key).mediaUpload.accept[] list Rangos de medios MIME para cargas de contenido multimedia aceptables en este método.
methods.(key).mediaUpload.maxSize string Tamaño máximo de una carga de contenido 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 REST.
servicePath string La ruta base para todas las solicitudes de REST.
batchPath string La ruta de acceso para las solicitudes por lotes de REST.
methods.(key).path string Es la ruta de acceso del URI de este método REST. Debe usarse junto con la propiedad servicePath a nivel de la API.
methods.(key).httpMethod string Es el 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 del esquema de solicitud.
methods.(key).request.parameterName string [OBSOLETO] Algunas API tienen este campo por motivos de retrocompatibilidad. Se puede ignorar sin problemas.
methods.(key).response object El esquema de la respuesta.
methods.(key).response.$ref string ID del esquema para el esquema de respuesta.
methods.(key).mediaUpload.protocols object Protocolos de carga admitidos.
methods.(key).mediaUpload.protocols.simple object Admite cargas como una sola solicitud HTTP.
methods.(key).mediaUpload.protocols.simple.multipart boolean Verdadero si este extremo admite la carga de contenido multimedia de varias partes.
methods.(key).mediaUpload.protocols.simple.path string La ruta del 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 contenido multimedia reanudable.
methods.(key).mediaUpload.protocols.resumable.multipart boolean true si este extremo admite la carga de contenido multimedia de varias partes.
methods.(key).mediaUpload.protocols.resumable.path string La ruta del 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 de 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 los métodos 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 Discovery.
resources.(key).methods.(key).path string Es la ruta de acceso del 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 del URI de este método REST en formato (RFC 6570) sin funciones de nivel 2 ({+var}). Complementa la propiedad de path.
resources.(key).methods.(key).httpMethod string Es el 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 dejó de estar disponible.
resources.(key).methods.(key).parameters object Detalles de todos los parámetros de este método.
resources.(key).methods.(key).parameters.(key) nested object Detalles de un solo parámetro en este método.
resources.(key).methods.(key).parameters.(key).id string Identificador único para este esquema.
resources.(key).methods.(key).parameters.(key).type string El tipo de valor para este esquema. 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 a otro esquema. El valor de esta propiedad es el “ID” de otro esquema.
resources.(key).methods.(key).parameters.(key).description string Es una descripción de este objeto.
resources.(key).methods.(key).parameters.(key).default string El valor predeterminado de esta propiedad (si existe).
resources.(key).methods.(key).parameters.(key).required boolean Indica si el parámetro es obligatorio.
resources.(key).methods.(key).parameters.(key).deprecated boolean Indica si el parámetro dejó de estar disponible.
resources.(key).methods.(key).parameters.(key).format string Una expresión regular o clave adicional que ayuda a restringir el valorPara obtener más detalles, consulte 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 las enumeraciones. Cada posición se asigna al valor correspondiente en el array enum.
resources.(key).methods.(key).parameters.(key).enumDeprecated[] list Es el estado de baja para las enumeraciones. Cada posición se asigna al valor correspondiente en el array enum.
resources.(key).methods.(key).parameters.(key).repeated boolean Indica si este parámetro puede aparecer varias veces.
resources.(key).methods.(key).parameters.(key).location string Si este parámetro va en la consulta o la ruta de las solicitudes de REST.
resources.(key).methods.(key).parameters.(key).properties object Si se trata de un esquema para un objeto, enumere el esquema de cada propiedad de este.
resources.(key).methods.(key).parameters.(key).properties.(key) nested object Una propiedad única de este objeto. El valor es en sí mismo un objeto de esquema 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 se trata de 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 los parámetros obligatorios. Esto sirve como una sugerencia para los clientes sobre cómo estructurar sus firmas de métodos. El array está ordenado de modo que aparezca el parámetro más significativo primero.
resources.(key).methods.(key).request object El esquema de la solicitud.
resources.(key).methods.(key).request.$ref string ID de esquema del esquema de solicitud.
resources.(key).methods.(key).response object El esquema de la respuesta.
resources.(key).methods.(key).response.$ref string ID del esquema para el esquema de respuesta.
resources.(key).methods.(key).scopes[] list Alcances de OAuth 2.0 aplicables a este método.
resources.(key).methods.(key).supportsMediaDownload boolean Si este método admite descargas de contenido multimedia
resources.(key).methods.(key).supportsMediaUpload boolean Si este método admite cargas de contenido multimedia
resources.(key).methods.(key).mediaUpload object Parámetros de carga de contenido multimedia
resources.(key).methods.(key).mediaUpload.accept[] list Rangos de medios MIME para cargas de contenido multimedia aceptables en este método.
resources.(key).methods.(key).mediaUpload.maxSize string Tamaño máximo de una carga de contenido multimedia, como "1 MB", "2 GB" o "3 TB".
resources.(key).methods.(key).mediaUpload.protocols object Protocolos de carga admitidos.
resources.(key).methods.(key).mediaUpload.protocols.simple object Admite cargas como una sola solicitud HTTP.
resources.(key).methods.(key).mediaUpload.protocols.simple.multipart boolean true si este extremo admite la carga de contenido multimedia de varias partes.
resources.(key).methods.(key).mediaUpload.protocols.simple.path string La ruta del 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 contenido multimedia reanudable.
resources.(key).methods.(key).mediaUpload.protocols.resumable.multipart boolean true si este extremo admite la carga de contenido multimedia de varias partes.
resources.(key).methods.(key).mediaUpload.protocols.resumable.path string La ruta del 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 dejó de estar disponible.
resources.(key).resources object Subrecursos de este recurso.
resources.(key).resources.(key) nested object Descripción de los subrecursos de este recurso.