| // Copyright 2020 Google LLC. | 
 | // Use of this source code is governed by a BSD-style | 
 | // license that can be found in the LICENSE file. | 
 |  | 
 | // Code generated file. DO NOT EDIT. | 
 |  | 
 | // Package speech provides access to the Cloud Speech-to-Text API. | 
 | // | 
 | // This package is DEPRECATED. Use package cloud.google.com/go/speech/apiv1 instead. | 
 | // | 
 | // For product documentation, see: https://cloud.google.com/speech-to-text/docs/quickstart-protocol | 
 | // | 
 | // Creating a client | 
 | // | 
 | // Usage example: | 
 | // | 
 | //   import "google.golang.org/api/speech/v2beta1" | 
 | //   ... | 
 | //   ctx := context.Background() | 
 | //   speechService, err := speech.NewService(ctx) | 
 | // | 
 | // In this example, Google Application Default Credentials are used for authentication. | 
 | // | 
 | // For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials. | 
 | // | 
 | // Other authentication options | 
 | // | 
 | // To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey: | 
 | // | 
 | //   speechService, err := speech.NewService(ctx, option.WithAPIKey("AIza...")) | 
 | // | 
 | // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource: | 
 | // | 
 | //   config := &oauth2.Config{...} | 
 | //   // ... | 
 | //   token, err := config.Exchange(ctx, ...) | 
 | //   speechService, err := speech.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) | 
 | // | 
 | // See https://godoc.org/google.golang.org/api/option/ for details on options. | 
 | package speech // import "google.golang.org/api/speech/v2beta1" | 
 |  | 
 | import ( | 
 | 	"bytes" | 
 | 	"context" | 
 | 	"encoding/json" | 
 | 	"errors" | 
 | 	"fmt" | 
 | 	"io" | 
 | 	"net/http" | 
 | 	"net/url" | 
 | 	"strconv" | 
 | 	"strings" | 
 |  | 
 | 	googleapi "google.golang.org/api/googleapi" | 
 | 	gensupport "google.golang.org/api/internal/gensupport" | 
 | 	option "google.golang.org/api/option" | 
 | 	internaloption "google.golang.org/api/option/internaloption" | 
 | 	htransport "google.golang.org/api/transport/http" | 
 | ) | 
 |  | 
 | // Always reference these packages, just in case the auto-generated code | 
 | // below doesn't. | 
 | var _ = bytes.NewBuffer | 
 | var _ = strconv.Itoa | 
 | var _ = fmt.Sprintf | 
 | var _ = json.NewDecoder | 
 | var _ = io.Copy | 
 | var _ = url.Parse | 
 | var _ = gensupport.MarshalJSON | 
 | var _ = googleapi.Version | 
 | var _ = errors.New | 
 | var _ = strings.Replace | 
 | var _ = context.Canceled | 
 | var _ = internaloption.WithDefaultEndpoint | 
 |  | 
 | const apiId = "speech:v2beta1" | 
 | const apiName = "speech" | 
 | const apiVersion = "v2beta1" | 
 | const basePath = "https://speech.googleapis.com/" | 
 | const mtlsBasePath = "https://speech.mtls.googleapis.com/" | 
 |  | 
 | // OAuth2 scopes used by this API. | 
 | const ( | 
 | 	// View and manage your data across Google Cloud Platform services | 
 | 	CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform" | 
 | ) | 
 |  | 
 | // NewService creates a new Service. | 
 | func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { | 
 | 	scopesOption := option.WithScopes( | 
 | 		"https://www.googleapis.com/auth/cloud-platform", | 
 | 	) | 
 | 	// NOTE: prepend, so we don't override user-specified scopes. | 
 | 	opts = append([]option.ClientOption{scopesOption}, opts...) | 
 | 	opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) | 
 | 	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) | 
 | 	client, endpoint, err := htransport.NewClient(ctx, opts...) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	s, err := New(client) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	if endpoint != "" { | 
 | 		s.BasePath = endpoint | 
 | 	} | 
 | 	return s, nil | 
 | } | 
 |  | 
 | // New creates a new Service. It uses the provided http.Client for requests. | 
 | // | 
 | // Deprecated: please use NewService instead. | 
 | // To provide a custom HTTP client, use option.WithHTTPClient. | 
 | // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. | 
 | func New(client *http.Client) (*Service, error) { | 
 | 	if client == nil { | 
 | 		return nil, errors.New("client is nil") | 
 | 	} | 
 | 	s := &Service{client: client, BasePath: basePath} | 
 | 	s.Projects = NewProjectsService(s) | 
 | 	return s, nil | 
 | } | 
 |  | 
 | type Service struct { | 
 | 	client    *http.Client | 
 | 	BasePath  string // API endpoint base URL | 
 | 	UserAgent string // optional additional User-Agent fragment | 
 |  | 
 | 	Projects *ProjectsService | 
 | } | 
 |  | 
 | func (s *Service) userAgent() string { | 
 | 	if s.UserAgent == "" { | 
 | 		return googleapi.UserAgent | 
 | 	} | 
 | 	return googleapi.UserAgent + " " + s.UserAgent | 
 | } | 
 |  | 
 | func NewProjectsService(s *Service) *ProjectsService { | 
 | 	rs := &ProjectsService{s: s} | 
 | 	rs.Locations = NewProjectsLocationsService(s) | 
 | 	return rs | 
 | } | 
 |  | 
 | type ProjectsService struct { | 
 | 	s *Service | 
 |  | 
 | 	Locations *ProjectsLocationsService | 
 | } | 
 |  | 
 | func NewProjectsLocationsService(s *Service) *ProjectsLocationsService { | 
 | 	rs := &ProjectsLocationsService{s: s} | 
 | 	rs.Operations = NewProjectsLocationsOperationsService(s) | 
 | 	return rs | 
 | } | 
 |  | 
 | type ProjectsLocationsService struct { | 
 | 	s *Service | 
 |  | 
 | 	Operations *ProjectsLocationsOperationsService | 
 | } | 
 |  | 
 | func NewProjectsLocationsOperationsService(s *Service) *ProjectsLocationsOperationsService { | 
 | 	rs := &ProjectsLocationsOperationsService{s: s} | 
 | 	return rs | 
 | } | 
 |  | 
 | type ProjectsLocationsOperationsService struct { | 
 | 	s *Service | 
 | } | 
 |  | 
 | // ListOperationsResponse: The response message for | 
 | // Operations.ListOperations. | 
 | type ListOperationsResponse struct { | 
 | 	// NextPageToken: The standard List next-page token. | 
 | 	NextPageToken string `json:"nextPageToken,omitempty"` | 
 |  | 
 | 	// Operations: A list of operations that matches the specified filter in | 
 | 	// the request. | 
 | 	Operations []*Operation `json:"operations,omitempty"` | 
 |  | 
 | 	// ServerResponse contains the HTTP response code and headers from the | 
 | 	// server. | 
 | 	googleapi.ServerResponse `json:"-"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "NextPageToken") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "NextPageToken") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *ListOperationsResponse) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod ListOperationsResponse | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // LongRunningRecognizeMetadata: Describes the progress of a | 
 | // long-running `LongRunningRecognize` call. It is | 
 | // included in the `metadata` field of the `Operation` returned by | 
 | // the | 
 | // `GetOperation` call of the `google::longrunning::Operations` service. | 
 | type LongRunningRecognizeMetadata struct { | 
 | 	// LastUpdateTime: Output only. Time of the most recent processing | 
 | 	// update. | 
 | 	LastUpdateTime string `json:"lastUpdateTime,omitempty"` | 
 |  | 
 | 	// ProgressPercent: Output only. Approximate percentage of audio | 
 | 	// processed thus far. Guaranteed to be 100 | 
 | 	// when the audio is fully processed and the results are available. | 
 | 	ProgressPercent int64 `json:"progressPercent,omitempty"` | 
 |  | 
 | 	// StartTime: Output only. Time when the request was received. | 
 | 	StartTime string `json:"startTime,omitempty"` | 
 |  | 
 | 	// Uri: The URI of the audio file being transcribed. Empty if the audio | 
 | 	// was sent | 
 | 	// as byte content. | 
 | 	Uri string `json:"uri,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "LastUpdateTime") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "LastUpdateTime") to | 
 | 	// include in API requests with the JSON null value. By default, fields | 
 | 	// with empty values are omitted from API requests. However, any field | 
 | 	// with an empty value appearing in NullFields will be sent to the | 
 | 	// server as null. It is an error if a field in this list has a | 
 | 	// non-empty value. This may be used to include null fields in Patch | 
 | 	// requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *LongRunningRecognizeMetadata) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod LongRunningRecognizeMetadata | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // LongRunningRecognizeResponse: The only message returned to the client | 
 | // by the `LongRunningRecognize` method. | 
 | // It contains the result as zero or more sequential | 
 | // SpeechRecognitionResult | 
 | // messages. It is included in the `result.response` field of the | 
 | // `Operation` | 
 | // returned by the `GetOperation` call of the | 
 | // `google::longrunning::Operations` | 
 | // service. | 
 | type LongRunningRecognizeResponse struct { | 
 | 	// Results: Output only. Sequential list of transcription results | 
 | 	// corresponding to | 
 | 	// sequential portions of audio. | 
 | 	Results []*SpeechRecognitionResult `json:"results,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Results") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Results") to include in | 
 | 	// API requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *LongRunningRecognizeResponse) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod LongRunningRecognizeResponse | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Operation: This resource represents a long-running operation that is | 
 | // the result of a | 
 | // network API call. | 
 | type Operation struct { | 
 | 	// Done: If the value is `false`, it means the operation is still in | 
 | 	// progress. | 
 | 	// If `true`, the operation is completed, and either `error` or | 
 | 	// `response` is | 
 | 	// available. | 
 | 	Done bool `json:"done,omitempty"` | 
 |  | 
 | 	// Error: The error result of the operation in case of failure or | 
 | 	// cancellation. | 
 | 	Error *Status `json:"error,omitempty"` | 
 |  | 
 | 	// Metadata: Service-specific metadata associated with the operation. | 
 | 	// It typically | 
 | 	// contains progress information and common metadata such as create | 
 | 	// time. | 
 | 	// Some services might not provide such metadata.  Any method that | 
 | 	// returns a | 
 | 	// long-running operation should document the metadata type, if any. | 
 | 	Metadata googleapi.RawMessage `json:"metadata,omitempty"` | 
 |  | 
 | 	// Name: The server-assigned name, which is only unique within the same | 
 | 	// service that | 
 | 	// originally returns it. If you use the default HTTP mapping, | 
 | 	// the | 
 | 	// `name` should be a resource name ending with | 
 | 	// `operations/{unique_id}`. | 
 | 	Name string `json:"name,omitempty"` | 
 |  | 
 | 	// Response: The normal response of the operation in case of success. | 
 | 	// If the original | 
 | 	// method returns no data on success, such as `Delete`, the response | 
 | 	// is | 
 | 	// `google.protobuf.Empty`.  If the original method is | 
 | 	// standard | 
 | 	// `Get`/`Create`/`Update`, the response should be the resource.  For | 
 | 	// other | 
 | 	// methods, the response should have the type `XxxResponse`, where | 
 | 	// `Xxx` | 
 | 	// is the original method name.  For example, if the original method | 
 | 	// name | 
 | 	// is `TakeSnapshot()`, the inferred response type | 
 | 	// is | 
 | 	// `TakeSnapshotResponse`. | 
 | 	Response googleapi.RawMessage `json:"response,omitempty"` | 
 |  | 
 | 	// ServerResponse contains the HTTP response code and headers from the | 
 | 	// server. | 
 | 	googleapi.ServerResponse `json:"-"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Done") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Done") to include in API | 
 | 	// requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Operation) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Operation | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // SpeechRecognitionAlternative: Alternative hypotheses (a.k.a. n-best | 
 | // list). | 
 | type SpeechRecognitionAlternative struct { | 
 | 	// Confidence: Output only. The confidence estimate between 0.0 and 1.0. | 
 | 	// A higher number | 
 | 	// indicates an estimated greater likelihood that the recognized words | 
 | 	// are | 
 | 	// correct. This field is set only for the top alternative of a | 
 | 	// non-streaming | 
 | 	// result or, of a streaming result where `is_final=true`. | 
 | 	// This field is not guaranteed to be accurate and users should not rely | 
 | 	// on it | 
 | 	// to be always provided. | 
 | 	// The default of 0.0 is a sentinel value indicating `confidence` was | 
 | 	// not set. | 
 | 	Confidence float64 `json:"confidence,omitempty"` | 
 |  | 
 | 	// Transcript: Output only. Transcript text representing the words that | 
 | 	// the user spoke. | 
 | 	Transcript string `json:"transcript,omitempty"` | 
 |  | 
 | 	// Words: Output only. A list of word-specific information for each | 
 | 	// recognized word. | 
 | 	// Note: When `enable_speaker_diarization` is true, you will see all the | 
 | 	// words | 
 | 	// from the beginning of the audio. | 
 | 	Words []*WordInfo `json:"words,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Confidence") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Confidence") to include in | 
 | 	// API requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *SpeechRecognitionAlternative) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod SpeechRecognitionAlternative | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | func (s *SpeechRecognitionAlternative) UnmarshalJSON(data []byte) error { | 
 | 	type NoMethod SpeechRecognitionAlternative | 
 | 	var s1 struct { | 
 | 		Confidence gensupport.JSONFloat64 `json:"confidence"` | 
 | 		*NoMethod | 
 | 	} | 
 | 	s1.NoMethod = (*NoMethod)(s) | 
 | 	if err := json.Unmarshal(data, &s1); err != nil { | 
 | 		return err | 
 | 	} | 
 | 	s.Confidence = float64(s1.Confidence) | 
 | 	return nil | 
 | } | 
 |  | 
 | // SpeechRecognitionResult: A speech recognition result corresponding to | 
 | // a portion of the audio. | 
 | type SpeechRecognitionResult struct { | 
 | 	// Alternatives: Output only. May contain one or more recognition | 
 | 	// hypotheses (up to the | 
 | 	// maximum specified in `max_alternatives`). | 
 | 	// These alternatives are ordered in terms of accuracy, with the top | 
 | 	// (first) | 
 | 	// alternative being the most probable, as ranked by the recognizer. | 
 | 	Alternatives []*SpeechRecognitionAlternative `json:"alternatives,omitempty"` | 
 |  | 
 | 	// ChannelTag: Output only. For multi-channel audio, this is the channel | 
 | 	// number corresponding to the | 
 | 	// recognized result for the audio from that channel. | 
 | 	// For `audio_channel_count` = N, its output values can range from `1` | 
 | 	// to `N`. | 
 | 	ChannelTag int64 `json:"channelTag,omitempty"` | 
 |  | 
 | 	// LanguageCode: Output only. | 
 | 	// The | 
 | 	// [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag | 
 | 	// of the | 
 | 	// language in this result. This language code was detected to have the | 
 | 	// most | 
 | 	// likelihood of being spoken in the audio. | 
 | 	LanguageCode string `json:"languageCode,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Alternatives") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Alternatives") to include | 
 | 	// in API requests with the JSON null value. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any field with | 
 | 	// an empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *SpeechRecognitionResult) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod SpeechRecognitionResult | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // Status: The `Status` type defines a logical error model that is | 
 | // suitable for | 
 | // different programming environments, including REST APIs and RPC APIs. | 
 | // It is | 
 | // used by [gRPC](https://github.com/grpc). Each `Status` message | 
 | // contains | 
 | // three pieces of data: error code, error message, and error | 
 | // details. | 
 | // | 
 | // You can find out more about this error model and how to work with it | 
 | // in the | 
 | // [API Design Guide](https://cloud.google.com/apis/design/errors). | 
 | type Status struct { | 
 | 	// Code: The status code, which should be an enum value of | 
 | 	// google.rpc.Code. | 
 | 	Code int64 `json:"code,omitempty"` | 
 |  | 
 | 	// Details: A list of messages that carry the error details.  There is a | 
 | 	// common set of | 
 | 	// message types for APIs to use. | 
 | 	Details []googleapi.RawMessage `json:"details,omitempty"` | 
 |  | 
 | 	// Message: A developer-facing error message, which should be in | 
 | 	// English. Any | 
 | 	// user-facing error message should be localized and sent in | 
 | 	// the | 
 | 	// google.rpc.Status.details field, or localized by the client. | 
 | 	Message string `json:"message,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Code") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Code") to include in API | 
 | 	// requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *Status) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod Status | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | // WordInfo: Word-specific information for recognized words. | 
 | type WordInfo struct { | 
 | 	// Confidence: Output only. The confidence estimate between 0.0 and 1.0. | 
 | 	// A higher number | 
 | 	// indicates an estimated greater likelihood that the recognized words | 
 | 	// are | 
 | 	// correct. This field is set only for the top alternative of a | 
 | 	// non-streaming | 
 | 	// result or, of a streaming result where `is_final=true`. | 
 | 	// This field is not guaranteed to be accurate and users should not rely | 
 | 	// on it | 
 | 	// to be always provided. | 
 | 	// The default of 0.0 is a sentinel value indicating `confidence` was | 
 | 	// not set. | 
 | 	Confidence float64 `json:"confidence,omitempty"` | 
 |  | 
 | 	// EndOffset: Output only. Time offset relative to the beginning of the | 
 | 	// audio, | 
 | 	// and corresponding to the end of the spoken word. | 
 | 	// This field is only set if `enable_word_time_offsets=true` and only | 
 | 	// in the top hypothesis. | 
 | 	// This is an experimental feature and the accuracy of the time offset | 
 | 	// can | 
 | 	// vary. | 
 | 	EndOffset string `json:"endOffset,omitempty"` | 
 |  | 
 | 	// SpeakerTag: Output only. A distinct integer value is assigned for | 
 | 	// every speaker within | 
 | 	// the audio. This field specifies which one of those speakers was | 
 | 	// detected to | 
 | 	// have spoken this word. Value ranges from `1` | 
 | 	// to | 
 | 	// `diarization_config.max_speaker_count` . `speaker_tag` is set | 
 | 	// if | 
 | 	// `diarization_config.enable_speaker_diarization` = `true` and only in | 
 | 	// the | 
 | 	// top alternative. | 
 | 	SpeakerTag int64 `json:"speakerTag,omitempty"` | 
 |  | 
 | 	// StartOffset: Output only. Time offset relative to the beginning of | 
 | 	// the audio, | 
 | 	// and corresponding to the start of the spoken word. | 
 | 	// This field is only set if `enable_word_time_offsets=true` and only | 
 | 	// in the top hypothesis. | 
 | 	// This is an experimental feature and the accuracy of the time offset | 
 | 	// can | 
 | 	// vary. | 
 | 	StartOffset string `json:"startOffset,omitempty"` | 
 |  | 
 | 	// Word: Output only. The word corresponding to this set of information. | 
 | 	Word string `json:"word,omitempty"` | 
 |  | 
 | 	// ForceSendFields is a list of field names (e.g. "Confidence") to | 
 | 	// unconditionally include in API requests. By default, fields with | 
 | 	// empty values are omitted from API requests. However, any non-pointer, | 
 | 	// non-interface field appearing in ForceSendFields will be sent to the | 
 | 	// server regardless of whether the field is empty or not. This may be | 
 | 	// used to include empty fields in Patch requests. | 
 | 	ForceSendFields []string `json:"-"` | 
 |  | 
 | 	// NullFields is a list of field names (e.g. "Confidence") to include in | 
 | 	// API requests with the JSON null value. By default, fields with empty | 
 | 	// values are omitted from API requests. However, any field with an | 
 | 	// empty value appearing in NullFields will be sent to the server as | 
 | 	// null. It is an error if a field in this list has a non-empty value. | 
 | 	// This may be used to include null fields in Patch requests. | 
 | 	NullFields []string `json:"-"` | 
 | } | 
 |  | 
 | func (s *WordInfo) MarshalJSON() ([]byte, error) { | 
 | 	type NoMethod WordInfo | 
 | 	raw := NoMethod(*s) | 
 | 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) | 
 | } | 
 |  | 
 | func (s *WordInfo) UnmarshalJSON(data []byte) error { | 
 | 	type NoMethod WordInfo | 
 | 	var s1 struct { | 
 | 		Confidence gensupport.JSONFloat64 `json:"confidence"` | 
 | 		*NoMethod | 
 | 	} | 
 | 	s1.NoMethod = (*NoMethod)(s) | 
 | 	if err := json.Unmarshal(data, &s1); err != nil { | 
 | 		return err | 
 | 	} | 
 | 	s.Confidence = float64(s1.Confidence) | 
 | 	return nil | 
 | } | 
 |  | 
 | // method id "speech.projects.locations.operations.get": | 
 |  | 
 | type ProjectsLocationsOperationsGetCall struct { | 
 | 	s            *Service | 
 | 	name         string | 
 | 	urlParams_   gensupport.URLParams | 
 | 	ifNoneMatch_ string | 
 | 	ctx_         context.Context | 
 | 	header_      http.Header | 
 | } | 
 |  | 
 | // Get: Gets the latest state of a long-running operation.  Clients can | 
 | // use this | 
 | // method to poll the operation result at intervals as recommended by | 
 | // the API | 
 | // service. | 
 | func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall { | 
 | 	c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.name = name | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsLocationsOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsGetCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // IfNoneMatch sets the optional parameter which makes the operation | 
 | // fail if the object's ETag matches the given value. This is useful for | 
 | // getting updates only after the object has changed since the last | 
 | // request. Use googleapi.IsNotModified to check whether the response | 
 | // error from Do is the result of In-None-Match. | 
 | func (c *ProjectsLocationsOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsGetCall { | 
 | 	c.ifNoneMatch_ = entityTag | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsLocationsOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsOperationsGetCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsLocationsOperationsGetCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200725") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	if c.ifNoneMatch_ != "" { | 
 | 		reqHeaders.Set("If-None-Match", c.ifNoneMatch_) | 
 | 	} | 
 | 	var body io.Reader = nil | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta1/{+name}") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("GET", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"name": c.name, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "speech.projects.locations.operations.get" call. | 
 | // Exactly one of *Operation or error will be non-nil. Any non-2xx | 
 | // status code is an error. Response headers are in either | 
 | // *Operation.ServerResponse.Header or (if a response was returned at | 
 | // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified | 
 | // to check whether the returned error was because | 
 | // http.StatusNotModified was returned. | 
 | func (c *ProjectsLocationsOperationsGetCall) Do(opts ...googleapi.CallOption) (*Operation, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &Operation{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", | 
 | 	//   "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", | 
 | 	//   "httpMethod": "GET", | 
 | 	//   "id": "speech.projects.locations.operations.get", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "name" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "name": { | 
 | 	//       "description": "The name of the operation resource.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v2beta1/{+name}", | 
 | 	//   "response": { | 
 | 	//     "$ref": "Operation" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } | 
 |  | 
 | // method id "speech.projects.locations.operations.list": | 
 |  | 
 | type ProjectsLocationsOperationsListCall struct { | 
 | 	s            *Service | 
 | 	name         string | 
 | 	urlParams_   gensupport.URLParams | 
 | 	ifNoneMatch_ string | 
 | 	ctx_         context.Context | 
 | 	header_      http.Header | 
 | } | 
 |  | 
 | // List: Lists operations that match the specified filter in the | 
 | // request. If the | 
 | // server doesn't support this method, it returns | 
 | // `UNIMPLEMENTED`. | 
 | // | 
 | // NOTE: the `name` binding allows API services to override the | 
 | // binding | 
 | // to use different resource name schemes, such as `users/*/operations`. | 
 | // To | 
 | // override the binding, API services can add a binding such | 
 | // as | 
 | // "/v1/{name=users/*}/operations" to their service configuration. | 
 | // For backwards compatibility, the default name includes the | 
 | // operations | 
 | // collection id, however overriding users must ensure the name | 
 | // binding | 
 | // is the parent resource, without the operations collection id. | 
 | func (r *ProjectsLocationsOperationsService) List(name string) *ProjectsLocationsOperationsListCall { | 
 | 	c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} | 
 | 	c.name = name | 
 | 	return c | 
 | } | 
 |  | 
 | // Filter sets the optional parameter "filter": The standard list | 
 | // filter. | 
 | func (c *ProjectsLocationsOperationsListCall) Filter(filter string) *ProjectsLocationsOperationsListCall { | 
 | 	c.urlParams_.Set("filter", filter) | 
 | 	return c | 
 | } | 
 |  | 
 | // PageSize sets the optional parameter "pageSize": The standard list | 
 | // page size. | 
 | func (c *ProjectsLocationsOperationsListCall) PageSize(pageSize int64) *ProjectsLocationsOperationsListCall { | 
 | 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) | 
 | 	return c | 
 | } | 
 |  | 
 | // PageToken sets the optional parameter "pageToken": The standard list | 
 | // page token. | 
 | func (c *ProjectsLocationsOperationsListCall) PageToken(pageToken string) *ProjectsLocationsOperationsListCall { | 
 | 	c.urlParams_.Set("pageToken", pageToken) | 
 | 	return c | 
 | } | 
 |  | 
 | // Fields allows partial responses to be retrieved. See | 
 | // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse | 
 | // for more information. | 
 | func (c *ProjectsLocationsOperationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsOperationsListCall { | 
 | 	c.urlParams_.Set("fields", googleapi.CombineFields(s)) | 
 | 	return c | 
 | } | 
 |  | 
 | // IfNoneMatch sets the optional parameter which makes the operation | 
 | // fail if the object's ETag matches the given value. This is useful for | 
 | // getting updates only after the object has changed since the last | 
 | // request. Use googleapi.IsNotModified to check whether the response | 
 | // error from Do is the result of In-None-Match. | 
 | func (c *ProjectsLocationsOperationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsOperationsListCall { | 
 | 	c.ifNoneMatch_ = entityTag | 
 | 	return c | 
 | } | 
 |  | 
 | // Context sets the context to be used in this call's Do method. Any | 
 | // pending HTTP request will be aborted if the provided context is | 
 | // canceled. | 
 | func (c *ProjectsLocationsOperationsListCall) Context(ctx context.Context) *ProjectsLocationsOperationsListCall { | 
 | 	c.ctx_ = ctx | 
 | 	return c | 
 | } | 
 |  | 
 | // Header returns an http.Header that can be modified by the caller to | 
 | // add HTTP headers to the request. | 
 | func (c *ProjectsLocationsOperationsListCall) Header() http.Header { | 
 | 	if c.header_ == nil { | 
 | 		c.header_ = make(http.Header) | 
 | 	} | 
 | 	return c.header_ | 
 | } | 
 |  | 
 | func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) { | 
 | 	reqHeaders := make(http.Header) | 
 | 	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200725") | 
 | 	for k, v := range c.header_ { | 
 | 		reqHeaders[k] = v | 
 | 	} | 
 | 	reqHeaders.Set("User-Agent", c.s.userAgent()) | 
 | 	if c.ifNoneMatch_ != "" { | 
 | 		reqHeaders.Set("If-None-Match", c.ifNoneMatch_) | 
 | 	} | 
 | 	var body io.Reader = nil | 
 | 	c.urlParams_.Set("alt", alt) | 
 | 	c.urlParams_.Set("prettyPrint", "false") | 
 | 	urls := googleapi.ResolveRelative(c.s.BasePath, "v2beta1/{+name}/operations") | 
 | 	urls += "?" + c.urlParams_.Encode() | 
 | 	req, err := http.NewRequest("GET", urls, body) | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	req.Header = reqHeaders | 
 | 	googleapi.Expand(req.URL, map[string]string{ | 
 | 		"name": c.name, | 
 | 	}) | 
 | 	return gensupport.SendRequest(c.ctx_, c.s.client, req) | 
 | } | 
 |  | 
 | // Do executes the "speech.projects.locations.operations.list" call. | 
 | // Exactly one of *ListOperationsResponse or error will be non-nil. Any | 
 | // non-2xx status code is an error. Response headers are in either | 
 | // *ListOperationsResponse.ServerResponse.Header or (if a response was | 
 | // returned at all) in error.(*googleapi.Error).Header. Use | 
 | // googleapi.IsNotModified to check whether the returned error was | 
 | // because http.StatusNotModified was returned. | 
 | func (c *ProjectsLocationsOperationsListCall) Do(opts ...googleapi.CallOption) (*ListOperationsResponse, error) { | 
 | 	gensupport.SetOptions(c.urlParams_, opts...) | 
 | 	res, err := c.doRequest("json") | 
 | 	if res != nil && res.StatusCode == http.StatusNotModified { | 
 | 		if res.Body != nil { | 
 | 			res.Body.Close() | 
 | 		} | 
 | 		return nil, &googleapi.Error{ | 
 | 			Code:   res.StatusCode, | 
 | 			Header: res.Header, | 
 | 		} | 
 | 	} | 
 | 	if err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	defer googleapi.CloseBody(res) | 
 | 	if err := googleapi.CheckResponse(res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	ret := &ListOperationsResponse{ | 
 | 		ServerResponse: googleapi.ServerResponse{ | 
 | 			Header:         res.Header, | 
 | 			HTTPStatusCode: res.StatusCode, | 
 | 		}, | 
 | 	} | 
 | 	target := &ret | 
 | 	if err := gensupport.DecodeResponse(target, res); err != nil { | 
 | 		return nil, err | 
 | 	} | 
 | 	return ret, nil | 
 | 	// { | 
 | 	//   "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", | 
 | 	//   "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/operations", | 
 | 	//   "httpMethod": "GET", | 
 | 	//   "id": "speech.projects.locations.operations.list", | 
 | 	//   "parameterOrder": [ | 
 | 	//     "name" | 
 | 	//   ], | 
 | 	//   "parameters": { | 
 | 	//     "filter": { | 
 | 	//       "description": "The standard list filter.", | 
 | 	//       "location": "query", | 
 | 	//       "type": "string" | 
 | 	//     }, | 
 | 	//     "name": { | 
 | 	//       "description": "The name of the operation's parent resource.", | 
 | 	//       "location": "path", | 
 | 	//       "pattern": "^projects/[^/]+/locations/[^/]+$", | 
 | 	//       "required": true, | 
 | 	//       "type": "string" | 
 | 	//     }, | 
 | 	//     "pageSize": { | 
 | 	//       "description": "The standard list page size.", | 
 | 	//       "format": "int32", | 
 | 	//       "location": "query", | 
 | 	//       "type": "integer" | 
 | 	//     }, | 
 | 	//     "pageToken": { | 
 | 	//       "description": "The standard list page token.", | 
 | 	//       "location": "query", | 
 | 	//       "type": "string" | 
 | 	//     } | 
 | 	//   }, | 
 | 	//   "path": "v2beta1/{+name}/operations", | 
 | 	//   "response": { | 
 | 	//     "$ref": "ListOperationsResponse" | 
 | 	//   }, | 
 | 	//   "scopes": [ | 
 | 	//     "https://www.googleapis.com/auth/cloud-platform" | 
 | 	//   ] | 
 | 	// } | 
 |  | 
 | } | 
 |  | 
 | // Pages invokes f for each page of results. | 
 | // A non-nil error returned from f will halt the iteration. | 
 | // The provided context supersedes any context provided to the Context method. | 
 | func (c *ProjectsLocationsOperationsListCall) Pages(ctx context.Context, f func(*ListOperationsResponse) error) error { | 
 | 	c.ctx_ = ctx | 
 | 	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point | 
 | 	for { | 
 | 		x, err := c.Do() | 
 | 		if err != nil { | 
 | 			return err | 
 | 		} | 
 | 		if err := f(x); err != nil { | 
 | 			return err | 
 | 		} | 
 | 		if x.NextPageToken == "" { | 
 | 			return nil | 
 | 		} | 
 | 		c.PageToken(x.NextPageToken) | 
 | 	} | 
 | } |