Documentation ¶
Overview ¶
Package discovery provides access to the APIs Discovery Service.
See https://developers.google.com/discovery/
Usage example:
import "google.golang.org/api/discovery/v1" ... discoveryService, err := discovery.New(oauthHttpClient)
Index ¶
- type ApisGetRestCall
- type ApisListCall
- type ApisService
- type DirectoryList
- type DirectoryListItems
- type DirectoryListItemsIcons
- type JsonSchema
- type JsonSchemaAnnotations
- type JsonSchemaVariant
- type JsonSchemaVariantMap
- type RestDescription
- type RestDescriptionAuth
- type RestDescriptionAuthOauth2
- type RestDescriptionAuthOauth2Scopes
- type RestDescriptionIcons
- type RestMethod
- type RestMethodMediaUpload
- type RestMethodMediaUploadProtocols
- type RestMethodMediaUploadProtocolsResumable
- type RestMethodMediaUploadProtocolsSimple
- type RestMethodRequest
- type RestMethodResponse
- type RestResource
- type Service
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApisGetRestCall ¶
type ApisGetRestCall struct {
// contains filtered or unexported fields
}
func (*ApisGetRestCall) Do ¶
func (c *ApisGetRestCall) Do() (*RestDescription, error)
func (*ApisGetRestCall) Fields ¶
func (c *ApisGetRestCall) Fields(s ...googleapi.Field) *ApisGetRestCall
Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.
type ApisListCall ¶
type ApisListCall struct {
// contains filtered or unexported fields
}
func (*ApisListCall) Do ¶
func (c *ApisListCall) Do() (*DirectoryList, error)
func (*ApisListCall) Fields ¶
func (c *ApisListCall) Fields(s ...googleapi.Field) *ApisListCall
Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.
func (*ApisListCall) Name ¶
func (c *ApisListCall) Name(name string) *ApisListCall
Name sets the optional parameter "name": Only include APIs with the given name.
func (*ApisListCall) Preferred ¶
func (c *ApisListCall) Preferred(preferred bool) *ApisListCall
Preferred sets the optional parameter "preferred": Return only the preferred version of an API.
type ApisService ¶
type ApisService struct {
// contains filtered or unexported fields
}
func NewApisService ¶
func NewApisService(s *Service) *ApisService
func (*ApisService) GetRest ¶
func (r *ApisService) GetRest(api string, version string) *ApisGetRestCall
GetRest: Retrieve the description of a particular version of an api.
func (*ApisService) List ¶
func (r *ApisService) List() *ApisListCall
List: Retrieve the list of APIs supported at this endpoint.
type DirectoryList ¶
type DirectoryList struct { // DiscoveryVersion: Indicate the version of the Discovery API used to // generate this doc. DiscoveryVersion string `json:"discoveryVersion,omitempty"` // Items: The individual directory entries. One entry per api/version // pair. Items []*DirectoryListItems `json:"items,omitempty"` // Kind: The kind for this response. Kind string `json:"kind,omitempty"` }
type DirectoryListItems ¶
type DirectoryListItems struct { // Description: The description of this API. Description string `json:"description,omitempty"` // DiscoveryLink: A link to the discovery document. DiscoveryLink string `json:"discoveryLink,omitempty"` // DiscoveryRestUrl: The URL for the discovery REST document. DiscoveryRestUrl string `json:"discoveryRestUrl,omitempty"` // DocumentationLink: A link to human readable documentation for the // API. DocumentationLink string `json:"documentationLink,omitempty"` // Icons: Links to 16x16 and 32x32 icons representing the API. Icons *DirectoryListItemsIcons `json:"icons,omitempty"` // Id: The id of this API. Id string `json:"id,omitempty"` // Kind: The kind for this response. Kind string `json:"kind,omitempty"` // Labels: Labels for the status of this API, such as labs or // deprecated. Labels []string `json:"labels,omitempty"` // Name: The name of the API. Name string `json:"name,omitempty"` // Preferred: True if this version is the preferred version to use. Preferred bool `json:"preferred,omitempty"` // Title: The title of this API. Title string `json:"title,omitempty"` // Version: The version of the API. Version string `json:"version,omitempty"` }
type DirectoryListItemsIcons ¶
type JsonSchema ¶
type JsonSchema struct { // Ref: A reference to another schema. The value of this property is the // "id" of another schema. Ref string `json:"$ref,omitempty"` // AdditionalProperties: If this is a schema for an object, this // property is the schema for any additional properties with dynamic // keys on this object. AdditionalProperties *JsonSchema `json:"additionalProperties,omitempty"` // Annotations: Additional information about this property. Annotations *JsonSchemaAnnotations `json:"annotations,omitempty"` // Default: The default value of this property (if one exists). Default string `json:"default,omitempty"` // Description: A description of this object. Description string `json:"description,omitempty"` // Enum: Values this parameter may take (if it is an enum). Enum []string `json:"enum,omitempty"` // EnumDescriptions: The descriptions for the enums. Each position maps // to the corresponding value in the "enum" array. EnumDescriptions []string `json:"enumDescriptions,omitempty"` // Format: 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 Format string `json:"format,omitempty"` // Id: Unique identifier for this schema. Id string `json:"id,omitempty"` // Items: If this is a schema for an array, this property is the schema // for each element in the array. Items *JsonSchema `json:"items,omitempty"` // Location: Whether this parameter goes in the query or the path for // REST requests. Location string `json:"location,omitempty"` // Maximum: The maximum value of this parameter. Maximum string `json:"maximum,omitempty"` // Minimum: The minimum value of this parameter. Minimum string `json:"minimum,omitempty"` // Pattern: 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 Pattern string `json:"pattern,omitempty"` // Properties: If this is a schema for an object, list the schema for // each property of this object. Properties map[string]JsonSchema `json:"properties,omitempty"` // ReadOnly: 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. ReadOnly bool `json:"readOnly,omitempty"` // Repeated: Whether this parameter may appear multiple times. Repeated bool `json:"repeated,omitempty"` // Required: Whether the parameter is required. Required bool `json:"required,omitempty"` // Type: 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 Type string `json:"type,omitempty"` // 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. Variant *JsonSchemaVariant `json:"variant,omitempty"` }
type JsonSchemaAnnotations ¶
type JsonSchemaAnnotations struct { // Required: A list of methods for which this property is required on // requests. Required []string `json:"required,omitempty"` }
type JsonSchemaVariant ¶
type JsonSchemaVariant struct { // Discriminant: The name of the type discriminant property. Discriminant string `json:"discriminant,omitempty"` // Map: The map of discriminant value to schema to use for parsing.. Map []*JsonSchemaVariantMap `json:"map,omitempty"` }
type JsonSchemaVariantMap ¶
type RestDescription ¶
type RestDescription struct { // Auth: Authentication information. Auth *RestDescriptionAuth `json:"auth,omitempty"` // BasePath: [DEPRECATED] The base path for REST requests. BasePath string `json:"basePath,omitempty"` // BaseUrl: [DEPRECATED] The base URL for REST requests. BaseUrl string `json:"baseUrl,omitempty"` // BatchPath: The path for REST batch requests. BatchPath string `json:"batchPath,omitempty"` // CanonicalName: Indicates how the API name should be capitalized and // split into various parts. Useful for generating pretty class names. CanonicalName string `json:"canonicalName,omitempty"` // Description: The description of this API. Description string `json:"description,omitempty"` // DiscoveryVersion: Indicate the version of the Discovery API used to // generate this doc. DiscoveryVersion string `json:"discoveryVersion,omitempty"` // DocumentationLink: A link to human readable documentation for the // API. DocumentationLink string `json:"documentationLink,omitempty"` // Etag: The ETag for this response. Etag string `json:"etag,omitempty"` // Features: A list of supported features for this API. Features []string `json:"features,omitempty"` // Icons: Links to 16x16 and 32x32 icons representing the API. Icons *RestDescriptionIcons `json:"icons,omitempty"` // Id: The ID of this API. Id string `json:"id,omitempty"` // Kind: The kind for this response. Kind string `json:"kind,omitempty"` // Labels: Labels for the status of this API, such as labs or // deprecated. Labels []string `json:"labels,omitempty"` // Methods: API-level methods for this API. Methods map[string]RestMethod `json:"methods,omitempty"` // Name: The name of this API. Name string `json:"name,omitempty"` // OwnerDomain: 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. OwnerDomain string `json:"ownerDomain,omitempty"` // OwnerName: The name of the owner of this API. See ownerDomain. OwnerName string `json:"ownerName,omitempty"` // PackagePath: The package of the owner of this API. See ownerDomain. PackagePath string `json:"packagePath,omitempty"` // Parameters: Common parameters that apply across all apis. Parameters map[string]JsonSchema `json:"parameters,omitempty"` // Protocol: The protocol described by this document. Protocol string `json:"protocol,omitempty"` // Resources: The resources in this API. Resources map[string]RestResource `json:"resources,omitempty"` // Revision: The version of this API. Revision string `json:"revision,omitempty"` // RootUrl: The root URL under which all API services live. RootUrl string `json:"rootUrl,omitempty"` // Schemas: The schemas for this API. Schemas map[string]JsonSchema `json:"schemas,omitempty"` // ServicePath: The base path for all REST requests. ServicePath string `json:"servicePath,omitempty"` // Title: The title of this API. Title string `json:"title,omitempty"` // Version: The version of this API. Version string `json:"version,omitempty"` }
type RestDescriptionAuth ¶
type RestDescriptionAuth struct { // Oauth2: OAuth 2.0 authentication information. Oauth2 *RestDescriptionAuthOauth2 `json:"oauth2,omitempty"` }
type RestDescriptionAuthOauth2 ¶
type RestDescriptionAuthOauth2 struct { // Scopes: Available OAuth 2.0 scopes. Scopes *RestDescriptionAuthOauth2Scopes `json:"scopes,omitempty"` }
type RestDescriptionAuthOauth2Scopes ¶
type RestDescriptionAuthOauth2Scopes struct { }
type RestDescriptionIcons ¶
type RestMethod ¶
type RestMethod struct { // Description: Description of this method. Description string `json:"description,omitempty"` // EtagRequired: Whether this method requires an ETag to be specified. // The ETag is sent as an HTTP If-Match or If-None-Match header. EtagRequired bool `json:"etagRequired,omitempty"` // HttpMethod: HTTP method used by this method. HttpMethod string `json:"httpMethod,omitempty"` // Id: A unique ID for this method. This property can be used to match // methods between different versions of Discovery. Id string `json:"id,omitempty"` // MediaUpload: Media upload parameters. MediaUpload *RestMethodMediaUpload `json:"mediaUpload,omitempty"` // 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. ParameterOrder []string `json:"parameterOrder,omitempty"` // Parameters: Details for all parameters in this method. Parameters map[string]JsonSchema `json:"parameters,omitempty"` // Path: The URI path of this REST method. Should be used in conjunction // with the basePath property at the api-level. Path string `json:"path,omitempty"` // Request: The schema for the request. Request *RestMethodRequest `json:"request,omitempty"` // Response: The schema for the response. Response *RestMethodResponse `json:"response,omitempty"` // Scopes: OAuth 2.0 scopes applicable to this method. Scopes []string `json:"scopes,omitempty"` // SupportsMediaDownload: Whether this method supports media downloads. SupportsMediaDownload bool `json:"supportsMediaDownload,omitempty"` // SupportsMediaUpload: Whether this method supports media uploads. SupportsMediaUpload bool `json:"supportsMediaUpload,omitempty"` // SupportsSubscription: Whether this method supports subscriptions. SupportsSubscription bool `json:"supportsSubscription,omitempty"` }
type RestMethodMediaUpload ¶
type RestMethodMediaUpload struct { // Accept: MIME Media Ranges for acceptable media uploads to this // method. Accept []string `json:"accept,omitempty"` // MaxSize: Maximum size of a media upload, such as "1MB", "2GB" or // "3TB". MaxSize string `json:"maxSize,omitempty"` // Protocols: Supported upload protocols. Protocols *RestMethodMediaUploadProtocols `json:"protocols,omitempty"` }
type RestMethodMediaUploadProtocols ¶
type RestMethodMediaUploadProtocols struct { // Resumable: Supports the Resumable Media Upload protocol. Resumable *RestMethodMediaUploadProtocolsResumable `json:"resumable,omitempty"` // Simple: Supports uploading as a single HTTP request. Simple *RestMethodMediaUploadProtocolsSimple `json:"simple,omitempty"` }
type RestMethodMediaUploadProtocolsResumable ¶
type RestMethodMediaUploadProtocolsResumable struct { // Multipart: True if this endpoint supports uploading multipart media. Multipart bool `json:"multipart,omitempty"` // Path: The URI path to be used for upload. Should be used in // conjunction with the basePath property at the api-level. Path string `json:"path,omitempty"` }
type RestMethodMediaUploadProtocolsSimple ¶
type RestMethodMediaUploadProtocolsSimple struct { // Multipart: True if this endpoint supports upload multipart media. Multipart bool `json:"multipart,omitempty"` // Path: The URI path to be used for upload. Should be used in // conjunction with the basePath property at the api-level. Path string `json:"path,omitempty"` }
type RestMethodRequest ¶
type RestMethodResponse ¶
type RestMethodResponse struct { // Ref: Schema ID for the response schema. Ref string `json:"$ref,omitempty"` }
type RestResource ¶
type RestResource struct { // Methods: Methods on this resource. Methods map[string]RestMethod `json:"methods,omitempty"` // Resources: Sub-resources on this resource. Resources map[string]RestResource `json:"resources,omitempty"` }