API Discovery Service . apis

Instance Methods

close()

Close httplib2 connections.

getRest(api, version)

Retrieve the description of a particular version of an api.

list(name=None, preferred=None)

Retrieve the list of APIs supported at this endpoint.

Method Details

close()
Close httplib2 connections.
getRest(api, version)
Retrieve the description of a particular version of an api.

Args:
  api: string, The name of the API. (required)
  version: string, The version of the API. (required)

Returns:
  An object of the form:

    {
  "auth": { # Authentication information.
    "oauth2": { # OAuth 2.0 authentication information.
      "scopes": { # Available OAuth 2.0 scopes.
        "a_key": { # The scope value.
          "description": "A String", # Description of scope.
        },
      },
    },
  },
  "basePath": "A String", # [DEPRECATED] The base path for REST requests.
  "baseUrl": "A String", # [DEPRECATED] The base URL for REST requests.
  "batchPath": "A String", # The path for REST batch requests.
  "canonicalName": "A String", # Indicates how the API name should be capitalized and split into various parts. Useful for generating pretty class names.
  "description": "A String", # The description of this API.
  "discoveryVersion": "v1", # Indicate the version of the Discovery API used to generate this doc.
  "documentationLink": "A String", # A link to human readable documentation for the API.
  "endpoints": [ # A list of location-based endpoint objects for this API. Each object contains the endpoint URL, location, description and deprecation status.
    { # A single endpoint object
      "deprecated": True or False, # Whether this endpoint is deprecated
      "description": "A String", # A string describing the host designated by the URL
      "endpointUrl": "A String", # The URL of the endpoint target host
      "location": "A String", # The location of the endpoint
    },
  ],
  "etag": "A String", # The ETag for this response.
  "exponentialBackoffDefault": True or False, # Enable exponential backoff for suitable methods in the generated clients.
  "features": [ # A list of supported features for this API.
    "A String",
  ],
  "icons": { # Links to 16x16 and 32x32 icons representing the API.
    "x16": "A String", # The URL of the 16x16 icon.
    "x32": "A String", # The URL of the 32x32 icon.
  },
  "id": "A String", # The ID of this API.
  "kind": "discovery#restDescription", # The kind for this response.
  "labels": [ # Labels for the status of this API, such as labs or deprecated.
    "A String",
  ],
  "methods": { # API-level methods for this API.
    "a_key": { # An individual method description.
      "deprecated": True or False, # Whether this method is deprecated.
      "description": "A String", # Description of this method.
      "etagRequired": True or False, # Whether this method requires an ETag to be specified. The ETag is sent as an HTTP If-Match or If-None-Match header.
      "flatPath": "A String", # The URI path of this REST method in (RFC 6570) format without level 2 features ({+var}). Supplementary to the path property.
      "httpMethod": "A String", # HTTP method used by this method.
      "id": "A String", # A unique ID for this method. This property can be used to match methods between different versions of Discovery.
      "mediaUpload": { # Media upload parameters.
        "accept": [ # MIME Media Ranges for acceptable media uploads to this method.
          "A String",
        ],
        "maxSize": "A String", # Maximum size of a media upload, such as "1MB", "2GB" or "3TB".
        "protocols": { # Supported upload protocols.
          "resumable": { # Supports the Resumable Media Upload protocol.
            "multipart": true, # True if this endpoint supports uploading multipart media.
            "path": "A String", # The URI path to be used for upload. Should be used in conjunction with the basePath property at the api-level.
          },
          "simple": { # Supports uploading as a single HTTP request.
            "multipart": true, # True if this endpoint supports upload multipart media.
            "path": "A String", # The URI path to be used for upload. Should be used in conjunction with the basePath property at the api-level.
          },
        },
      },
      "parameterOrder": [ # Ordered list of required parameters, serves as a hint to clients on how to structure their method signatures. The array is ordered such that the "most-significant" parameter appears first.
        "A String",
      ],
      "parameters": { # Details for all parameters in this method.
        "a_key": { # Details for a single parameter in this method.
          "$ref": "A String", # A reference to another schema. The value of this property is the "id" of another schema.
          "additionalProperties": # Object with schema name: JsonSchema # If this is a schema for an object, this property is the schema for any additional properties with dynamic keys on this object.
          "annotations": { # Additional information about this property.
            "required": [ # A list of methods for which this property is required on requests.
              "A String",
            ],
          },
          "default": "A String", # The default value of this property (if one exists).
          "deprecated": True or False, # Whether the parameter is deprecated.
          "description": "A String", # A description of this object.
          "enum": [ # Values this parameter may take (if it is an enum).
            "A String",
          ],
          "enumDeprecated": [ # The deprecation status for the enums. Each position maps to the corresponding value in the "enum" array.
            True or False,
          ],
          "enumDescriptions": [ # The descriptions for the enums. Each position maps to the corresponding value in the "enum" array.
            "A String",
          ],
          "format": "A String", # An additional regular expression or key that helps constrain the value. For more details see: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.23
          "id": "A String", # Unique identifier for this schema.
          "items": # Object with schema name: JsonSchema # If this is a schema for an array, this property is the schema for each element in the array.
          "location": "A String", # Whether this parameter goes in the query or the path for REST requests.
          "maximum": "A String", # The maximum value of this parameter.
          "minimum": "A String", # The minimum value of this parameter.
          "pattern": "A String", # The regular expression this parameter must conform to. Uses Java 6 regex format: http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
          "properties": { # If this is a schema for an object, list the schema for each property of this object.
            "a_key": # Object with schema name: JsonSchema # A single property of this object. The value is itself a JSON Schema object describing this property.
          },
          "readOnly": True or False, # The value is read-only, generated by the service. The value cannot be modified by the client. If the value is included in a POST, PUT, or PATCH request, it is ignored by the service.
          "repeated": True or False, # Whether this parameter may appear multiple times.
          "required": True or False, # Whether the parameter is required.
          "type": "A String", # The value type for this schema. A list of values can be found here: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1
          "variant": { # In a variant data type, the value of one property is used to determine how to interpret the entire entity. Its value must exist in a map of descriminant values to schema names.
            "discriminant": "A String", # The name of the type discriminant property.
            "map": [ # The map of discriminant value to schema to use for parsing..
              {
                "$ref": "A String",
                "type_value": "A String",
              },
            ],
          },
        },
      },
      "path": "A String", # The URI path of this REST method. Should be used in conjunction with the basePath property at the api-level.
      "request": { # The schema for the request.
        "$ref": "A String", # Schema ID for the request schema.
        "parameterName": "A String", # parameter name.
      },
      "response": { # The schema for the response.
        "$ref": "A String", # Schema ID for the response schema.
      },
      "scopes": [ # OAuth 2.0 scopes applicable to this method.
        "A String",
      ],
      "supportsMediaDownload": True or False, # Whether this method supports media downloads.
      "supportsMediaUpload": True or False, # Whether this method supports media uploads.
      "supportsSubscription": True or False, # Whether this method supports subscriptions.
      "useMediaDownloadService": True or False, # Indicates that downloads from this method should use the download service URL (i.e. "/download"). Only applies if the method supports media download.
    },
  },
  "name": "A String", # The name of this API.
  "ownerDomain": "A String", # The domain of the owner of this API. Together with the ownerName and a packagePath values, this can be used to generate a library for this API which would have a unique fully qualified name.
  "ownerName": "A String", # The name of the owner of this API. See ownerDomain.
  "packagePath": "A String", # The package of the owner of this API. See ownerDomain.
  "parameters": { # Common parameters that apply across all apis.
    "a_key": { # Description of a single parameter.
      "$ref": "A String", # A reference to another schema. The value of this property is the "id" of another schema.
      "additionalProperties": # Object with schema name: JsonSchema # If this is a schema for an object, this property is the schema for any additional properties with dynamic keys on this object.
      "annotations": { # Additional information about this property.
        "required": [ # A list of methods for which this property is required on requests.
          "A String",
        ],
      },
      "default": "A String", # The default value of this property (if one exists).
      "deprecated": True or False, # Whether the parameter is deprecated.
      "description": "A String", # A description of this object.
      "enum": [ # Values this parameter may take (if it is an enum).
        "A String",
      ],
      "enumDeprecated": [ # The deprecation status for the enums. Each position maps to the corresponding value in the "enum" array.
        True or False,
      ],
      "enumDescriptions": [ # The descriptions for the enums. Each position maps to the corresponding value in the "enum" array.
        "A String",
      ],
      "format": "A String", # An additional regular expression or key that helps constrain the value. For more details see: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.23
      "id": "A String", # Unique identifier for this schema.
      "items": # Object with schema name: JsonSchema # If this is a schema for an array, this property is the schema for each element in the array.
      "location": "A String", # Whether this parameter goes in the query or the path for REST requests.
      "maximum": "A String", # The maximum value of this parameter.
      "minimum": "A String", # The minimum value of this parameter.
      "pattern": "A String", # The regular expression this parameter must conform to. Uses Java 6 regex format: http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
      "properties": { # If this is a schema for an object, list the schema for each property of this object.
        "a_key": # Object with schema name: JsonSchema # A single property of this object. The value is itself a JSON Schema object describing this property.
      },
      "readOnly": True or False, # The value is read-only, generated by the service. The value cannot be modified by the client. If the value is included in a POST, PUT, or PATCH request, it is ignored by the service.
      "repeated": True or False, # Whether this parameter may appear multiple times.
      "required": True or False, # Whether the parameter is required.
      "type": "A String", # The value type for this schema. A list of values can be found here: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1
      "variant": { # In a variant data type, the value of one property is used to determine how to interpret the entire entity. Its value must exist in a map of descriminant values to schema names.
        "discriminant": "A String", # The name of the type discriminant property.
        "map": [ # The map of discriminant value to schema to use for parsing..
          {
            "$ref": "A String",
            "type_value": "A String",
          },
        ],
      },
    },
  },
  "protocol": "rest", # The protocol described by this document.
  "resources": { # The resources in this API.
    "a_key": { # An individual resource description. Contains methods and sub-resources related to this resource.
      "deprecated": True or False, # Whether this resource is deprecated.
      "methods": { # Methods on this resource.
        "a_key": { # Description for any methods on this resource.
          "deprecated": True or False, # Whether this method is deprecated.
          "description": "A String", # Description of this method.
          "etagRequired": True or False, # Whether this method requires an ETag to be specified. The ETag is sent as an HTTP If-Match or If-None-Match header.
          "flatPath": "A String", # The URI path of this REST method in (RFC 6570) format without level 2 features ({+var}). Supplementary to the path property.
          "httpMethod": "A String", # HTTP method used by this method.
          "id": "A String", # A unique ID for this method. This property can be used to match methods between different versions of Discovery.
          "mediaUpload": { # Media upload parameters.
            "accept": [ # MIME Media Ranges for acceptable media uploads to this method.
              "A String",
            ],
            "maxSize": "A String", # Maximum size of a media upload, such as "1MB", "2GB" or "3TB".
            "protocols": { # Supported upload protocols.
              "resumable": { # Supports the Resumable Media Upload protocol.
                "multipart": true, # True if this endpoint supports uploading multipart media.
                "path": "A String", # The URI path to be used for upload. Should be used in conjunction with the basePath property at the api-level.
              },
              "simple": { # Supports uploading as a single HTTP request.
                "multipart": true, # True if this endpoint supports upload multipart media.
                "path": "A String", # The URI path to be used for upload. Should be used in conjunction with the basePath property at the api-level.
              },
            },
          },
          "parameterOrder": [ # Ordered list of required parameters, serves as a hint to clients on how to structure their method signatures. The array is ordered such that the "most-significant" parameter appears first.
            "A String",
          ],
          "parameters": { # Details for all parameters in this method.
            "a_key": { # Details for a single parameter in this method.
              "$ref": "A String", # A reference to another schema. The value of this property is the "id" of another schema.
              "additionalProperties": # Object with schema name: JsonSchema # If this is a schema for an object, this property is the schema for any additional properties with dynamic keys on this object.
              "annotations": { # Additional information about this property.
                "required": [ # A list of methods for which this property is required on requests.
                  "A String",
                ],
              },
              "default": "A String", # The default value of this property (if one exists).
              "deprecated": True or False, # Whether the parameter is deprecated.
              "description": "A String", # A description of this object.
              "enum": [ # Values this parameter may take (if it is an enum).
                "A String",
              ],
              "enumDeprecated": [ # The deprecation status for the enums. Each position maps to the corresponding value in the "enum" array.
                True or False,
              ],
              "enumDescriptions": [ # The descriptions for the enums. Each position maps to the corresponding value in the "enum" array.
                "A String",
              ],
              "format": "A String", # An additional regular expression or key that helps constrain the value. For more details see: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.23
              "id": "A String", # Unique identifier for this schema.
              "items": # Object with schema name: JsonSchema # If this is a schema for an array, this property is the schema for each element in the array.
              "location": "A String", # Whether this parameter goes in the query or the path for REST requests.
              "maximum": "A String", # The maximum value of this parameter.
              "minimum": "A String", # The minimum value of this parameter.
              "pattern": "A String", # The regular expression this parameter must conform to. Uses Java 6 regex format: http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
              "properties": { # If this is a schema for an object, list the schema for each property of this object.
                "a_key": # Object with schema name: JsonSchema # A single property of this object. The value is itself a JSON Schema object describing this property.
              },
              "readOnly": True or False, # The value is read-only, generated by the service. The value cannot be modified by the client. If the value is included in a POST, PUT, or PATCH request, it is ignored by the service.
              "repeated": True or False, # Whether this parameter may appear multiple times.
              "required": True or False, # Whether the parameter is required.
              "type": "A String", # The value type for this schema. A list of values can be found here: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1
              "variant": { # In a variant data type, the value of one property is used to determine how to interpret the entire entity. Its value must exist in a map of descriminant values to schema names.
                "discriminant": "A String", # The name of the type discriminant property.
                "map": [ # The map of discriminant value to schema to use for parsing..
                  {
                    "$ref": "A String",
                    "type_value": "A String",
                  },
                ],
              },
            },
          },
          "path": "A String", # The URI path of this REST method. Should be used in conjunction with the basePath property at the api-level.
          "request": { # The schema for the request.
            "$ref": "A String", # Schema ID for the request schema.
            "parameterName": "A String", # parameter name.
          },
          "response": { # The schema for the response.
            "$ref": "A String", # Schema ID for the response schema.
          },
          "scopes": [ # OAuth 2.0 scopes applicable to this method.
            "A String",
          ],
          "supportsMediaDownload": True or False, # Whether this method supports media downloads.
          "supportsMediaUpload": True or False, # Whether this method supports media uploads.
          "supportsSubscription": True or False, # Whether this method supports subscriptions.
          "useMediaDownloadService": True or False, # Indicates that downloads from this method should use the download service URL (i.e. "/download"). Only applies if the method supports media download.
        },
      },
      "resources": { # Sub-resources on this resource.
        "a_key": # Object with schema name: RestResource # Description for any sub-resources on this resource.
      },
    },
  },
  "revision": "A String", # The version of this API.
  "rootUrl": "A String", # The root URL under which all API services live.
  "schemas": { # The schemas for this API.
    "a_key": { # An individual schema description.
      "$ref": "A String", # A reference to another schema. The value of this property is the "id" of another schema.
      "additionalProperties": # Object with schema name: JsonSchema # If this is a schema for an object, this property is the schema for any additional properties with dynamic keys on this object.
      "annotations": { # Additional information about this property.
        "required": [ # A list of methods for which this property is required on requests.
          "A String",
        ],
      },
      "default": "A String", # The default value of this property (if one exists).
      "deprecated": True or False, # Whether the parameter is deprecated.
      "description": "A String", # A description of this object.
      "enum": [ # Values this parameter may take (if it is an enum).
        "A String",
      ],
      "enumDeprecated": [ # The deprecation status for the enums. Each position maps to the corresponding value in the "enum" array.
        True or False,
      ],
      "enumDescriptions": [ # The descriptions for the enums. Each position maps to the corresponding value in the "enum" array.
        "A String",
      ],
      "format": "A String", # An additional regular expression or key that helps constrain the value. For more details see: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.23
      "id": "A String", # Unique identifier for this schema.
      "items": # Object with schema name: JsonSchema # If this is a schema for an array, this property is the schema for each element in the array.
      "location": "A String", # Whether this parameter goes in the query or the path for REST requests.
      "maximum": "A String", # The maximum value of this parameter.
      "minimum": "A String", # The minimum value of this parameter.
      "pattern": "A String", # The regular expression this parameter must conform to. Uses Java 6 regex format: http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
      "properties": { # If this is a schema for an object, list the schema for each property of this object.
        "a_key": # Object with schema name: JsonSchema # A single property of this object. The value is itself a JSON Schema object describing this property.
      },
      "readOnly": True or False, # The value is read-only, generated by the service. The value cannot be modified by the client. If the value is included in a POST, PUT, or PATCH request, it is ignored by the service.
      "repeated": True or False, # Whether this parameter may appear multiple times.
      "required": True or False, # Whether the parameter is required.
      "type": "A String", # The value type for this schema. A list of values can be found here: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1
      "variant": { # In a variant data type, the value of one property is used to determine how to interpret the entire entity. Its value must exist in a map of descriminant values to schema names.
        "discriminant": "A String", # The name of the type discriminant property.
        "map": [ # The map of discriminant value to schema to use for parsing..
          {
            "$ref": "A String",
            "type_value": "A String",
          },
        ],
      },
    },
  },
  "servicePath": "A String", # The base path for all REST requests.
  "title": "A String", # The title of this API.
  "version": "A String", # The version of this API.
  "version_module": True or False,
}
list(name=None, preferred=None)
Retrieve the list of APIs supported at this endpoint.

Args:
  name: string, Only include APIs with the given name.
  preferred: boolean, Return only the preferred version of an API.

Returns:
  An object of the form:

    {
  "discoveryVersion": "v1", # Indicate the version of the Discovery API used to generate this doc.
  "items": [ # The individual directory entries. One entry per api/version pair.
    {
      "description": "A String", # The description of this API.
      "discoveryLink": "A String", # A link to the discovery document.
      "discoveryRestUrl": "A String", # The URL for the discovery REST document.
      "documentationLink": "A String", # A link to human readable documentation for the API.
      "icons": { # Links to 16x16 and 32x32 icons representing the API.
        "x16": "A String", # The URL of the 16x16 icon.
        "x32": "A String", # The URL of the 32x32 icon.
      },
      "id": "A String", # The id of this API.
      "kind": "discovery#directoryItem", # The kind for this response.
      "labels": [ # Labels for the status of this API, such as labs or deprecated.
        "A String",
      ],
      "name": "A String", # The name of the API.
      "preferred": True or False, # True if this version is the preferred version to use.
      "title": "A String", # The title of this API.
      "version": "A String", # The version of the API.
    },
  ],
  "kind": "discovery#directoryList", # The kind for this response.
}