// Copyright 2019 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 mirror provides access to the Google Mirror API. // // For product documentation, see: https://developers.google.com/glass // // Creating a client // // Usage example: // // import "google.golang.org/api/mirror/v1" // ... // ctx := context.Background() // mirrorService, err := mirror.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 // // By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes: // // mirrorService, err := mirror.NewService(ctx, option.WithScopes(mirror.GlassTimelineScope)) // // To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey: // // mirrorService, err := mirror.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, ...) // mirrorService, err := mirror.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) // // See https://godoc.org/google.golang.org/api/option/ for details on options. package mirror // import "google.golang.org/api/mirror/v1" import ( "bytes" "context" "encoding/json" "errors" "fmt" "io" "net/http" "net/url" "strconv" "strings" gensupport "google.golang.org/api/gensupport" googleapi "google.golang.org/api/googleapi" option "google.golang.org/api/option" 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 const apiId = "mirror:v1" const apiName = "mirror" const apiVersion = "v1" const basePath = "https://www.googleapis.com/mirror/v1/" // OAuth2 scopes used by this API. const ( // View your location GlassLocationScope = "https://www.googleapis.com/auth/glass.location" // View and manage your Glass timeline GlassTimelineScope = "https://www.googleapis.com/auth/glass.timeline" ) // NewService creates a new Service. func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { scopesOption := option.WithScopes( "https://www.googleapis.com/auth/glass.location", "https://www.googleapis.com/auth/glass.timeline", ) // NOTE: prepend, so we don't override user-specified scopes. opts = append([]option.ClientOption{scopesOption}, opts...) 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.Accounts = NewAccountsService(s) s.Contacts = NewContactsService(s) s.Locations = NewLocationsService(s) s.Settings = NewSettingsService(s) s.Subscriptions = NewSubscriptionsService(s) s.Timeline = NewTimelineService(s) return s, nil } type Service struct { client *http.Client BasePath string // API endpoint base URL UserAgent string // optional additional User-Agent fragment Accounts *AccountsService Contacts *ContactsService Locations *LocationsService Settings *SettingsService Subscriptions *SubscriptionsService Timeline *TimelineService } func (s *Service) userAgent() string { if s.UserAgent == "" { return googleapi.UserAgent } return googleapi.UserAgent + " " + s.UserAgent } func NewAccountsService(s *Service) *AccountsService { rs := &AccountsService{s: s} return rs } type AccountsService struct { s *Service } func NewContactsService(s *Service) *ContactsService { rs := &ContactsService{s: s} return rs } type ContactsService struct { s *Service } func NewLocationsService(s *Service) *LocationsService { rs := &LocationsService{s: s} return rs } type LocationsService struct { s *Service } func NewSettingsService(s *Service) *SettingsService { rs := &SettingsService{s: s} return rs } type SettingsService struct { s *Service } func NewSubscriptionsService(s *Service) *SubscriptionsService { rs := &SubscriptionsService{s: s} return rs } type SubscriptionsService struct { s *Service } func NewTimelineService(s *Service) *TimelineService { rs := &TimelineService{s: s} rs.Attachments = NewTimelineAttachmentsService(s) return rs } type TimelineService struct { s *Service Attachments *TimelineAttachmentsService } func NewTimelineAttachmentsService(s *Service) *TimelineAttachmentsService { rs := &TimelineAttachmentsService{s: s} return rs } type TimelineAttachmentsService struct { s *Service } // Account: Represents an account passed into the Account Manager on // Glass. type Account struct { AuthTokens []*AuthToken `json:"authTokens,omitempty"` Features []string `json:"features,omitempty"` Password string `json:"password,omitempty"` UserData []*UserData `json:"userData,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AuthTokens") 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. "AuthTokens") 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 *Account) MarshalJSON() ([]byte, error) { type NoMethod Account raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // Attachment: Represents media content, such as a photo, that can be // attached to a timeline item. type Attachment struct { // ContentType: The MIME type of the attachment. ContentType string `json:"contentType,omitempty"` // ContentUrl: The URL for the content. ContentUrl string `json:"contentUrl,omitempty"` // Id: The ID of the attachment. Id string `json:"id,omitempty"` // IsProcessingContent: Indicates that the contentUrl is not available // because the attachment content is still being processed. If the // caller wishes to retrieve the content, it should try again later. IsProcessingContent bool `json:"isProcessingContent,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "ContentType") 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. "ContentType") 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 *Attachment) MarshalJSON() ([]byte, error) { type NoMethod Attachment raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // AttachmentsListResponse: A list of Attachments. This is the response // from the server to GET requests on the attachments collection. type AttachmentsListResponse struct { // Items: The list of attachments. Items []*Attachment `json:"items,omitempty"` // Kind: The type of resource. This is always mirror#attachmentsList. Kind string `json:"kind,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Items") 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. "Items") 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 *AttachmentsListResponse) MarshalJSON() ([]byte, error) { type NoMethod AttachmentsListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type AuthToken struct { AuthToken string `json:"authToken,omitempty"` Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "AuthToken") 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. "AuthToken") 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 *AuthToken) MarshalJSON() ([]byte, error) { type NoMethod AuthToken raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // Command: A single menu command that is part of a Contact. type Command struct { // Type: The type of operation this command corresponds to. Allowed // values are: // - TAKE_A_NOTE - Shares a timeline item with the transcription of user // speech from the "Take a note" voice menu command. // - POST_AN_UPDATE - Shares a timeline item with the transcription of // user speech from the "Post an update" voice menu command. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Type") 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. "Type") 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 *Command) MarshalJSON() ([]byte, error) { type NoMethod Command raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // Contact: A person or group that can be used as a creator or a // contact. type Contact struct { // AcceptCommands: A list of voice menu commands that a contact can // handle. Glass shows up to three contacts for each voice menu command. // If there are more than that, the three contacts with the highest // priority are shown for that particular command. AcceptCommands []*Command `json:"acceptCommands,omitempty"` // AcceptTypes: A list of MIME types that a contact supports. The // contact will be shown to the user if any of its acceptTypes matches // any of the types of the attachments on the item. If no acceptTypes // are given, the contact will be shown for all items. AcceptTypes []string `json:"acceptTypes,omitempty"` // DisplayName: The name to display for this contact. DisplayName string `json:"displayName,omitempty"` // Id: An ID for this contact. This is generated by the application and // is treated as an opaque token. Id string `json:"id,omitempty"` // ImageUrls: Set of image URLs to display for a contact. Most contacts // will have a single image, but a "group" contact may include up to 8 // image URLs and they will be resized and cropped into a mosaic on the // client. ImageUrls []string `json:"imageUrls,omitempty"` // Kind: The type of resource. This is always mirror#contact. Kind string `json:"kind,omitempty"` // PhoneNumber: Primary phone number for the contact. This can be a // fully-qualified number, with country calling code and area code, or a // local number. PhoneNumber string `json:"phoneNumber,omitempty"` // Priority: Priority for the contact to determine ordering in a list of // contacts. Contacts with higher priorities will be shown before ones // with lower priorities. Priority int64 `json:"priority,omitempty"` // SharingFeatures: A list of sharing features that a contact can // handle. Allowed values are: // - ADD_CAPTION SharingFeatures []string `json:"sharingFeatures,omitempty"` // Source: The ID of the application that created this contact. This is // populated by the API Source string `json:"source,omitempty"` // SpeakableName: Name of this contact as it should be pronounced. If // this contact's name must be spoken as part of a voice disambiguation // menu, this name is used as the expected pronunciation. This is useful // for contact names with unpronounceable characters or whose display // spelling is otherwise not phonetic. SpeakableName string `json:"speakableName,omitempty"` // Type: The type for this contact. This is used for sorting in UIs. // Allowed values are: // - INDIVIDUAL - Represents a single person. This is the default. // - GROUP - Represents more than a single person. Type string `json:"type,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "AcceptCommands") 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. "AcceptCommands") 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 *Contact) MarshalJSON() ([]byte, error) { type NoMethod Contact raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // ContactsListResponse: A list of Contacts representing contacts. This // is the response from the server to GET requests on the contacts // collection. type ContactsListResponse struct { // Items: Contact list. Items []*Contact `json:"items,omitempty"` // Kind: The type of resource. This is always mirror#contacts. Kind string `json:"kind,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Items") 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. "Items") 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 *ContactsListResponse) MarshalJSON() ([]byte, error) { type NoMethod ContactsListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // Location: A geographic location that can be associated with a // timeline item. type Location struct { // Accuracy: The accuracy of the location fix in meters. Accuracy float64 `json:"accuracy,omitempty"` // Address: The full address of the location. Address string `json:"address,omitempty"` // DisplayName: The name to be displayed. This may be a business name or // a user-defined place, such as "Home". DisplayName string `json:"displayName,omitempty"` // Id: The ID of the location. Id string `json:"id,omitempty"` // Kind: The type of resource. This is always mirror#location. Kind string `json:"kind,omitempty"` // Latitude: The latitude, in degrees. Latitude float64 `json:"latitude,omitempty"` // Longitude: The longitude, in degrees. Longitude float64 `json:"longitude,omitempty"` // Timestamp: The time at which this location was captured, formatted // according to RFC 3339. Timestamp string `json:"timestamp,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Accuracy") 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. "Accuracy") 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 *Location) MarshalJSON() ([]byte, error) { type NoMethod Location raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } func (s *Location) UnmarshalJSON(data []byte) error { type NoMethod Location var s1 struct { Accuracy gensupport.JSONFloat64 `json:"accuracy"` Latitude gensupport.JSONFloat64 `json:"latitude"` Longitude gensupport.JSONFloat64 `json:"longitude"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } s.Accuracy = float64(s1.Accuracy) s.Latitude = float64(s1.Latitude) s.Longitude = float64(s1.Longitude) return nil } // LocationsListResponse: A list of Locations. This is the response from // the server to GET requests on the locations collection. type LocationsListResponse struct { // Items: The list of locations. Items []*Location `json:"items,omitempty"` // Kind: The type of resource. This is always mirror#locationsList. Kind string `json:"kind,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Items") 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. "Items") 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 *LocationsListResponse) MarshalJSON() ([]byte, error) { type NoMethod LocationsListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // MenuItem: A custom menu item that can be presented to the user by a // timeline item. type MenuItem struct { // Action: Controls the behavior when the user picks the menu option. // Allowed values are: // - CUSTOM - Custom action set by the service. When the user selects // this menuItem, the API triggers a notification to your callbackUrl // with the userActions.type set to CUSTOM and the userActions.payload // set to the ID of this menu item. This is the default value. // - Built-in actions: // - REPLY - Initiate a reply to the timeline item using the voice // recording UI. The creator attribute must be set in the timeline item // for this menu to be available. // - REPLY_ALL - Same behavior as REPLY. The original timeline item's // recipients will be added to the reply item. // - DELETE - Delete the timeline item. // - SHARE - Share the timeline item with the available contacts. // - READ_ALOUD - Read the timeline item's speakableText aloud; if this // field is not set, read the text field; if none of those fields are // set, this menu item is ignored. // - GET_MEDIA_INPUT - Allow users to provide media payloads to // Glassware from a menu item (currently, only transcribed text from // voice input is supported). Subscribe to notifications when users // invoke this menu item to receive the timeline item ID. Retrieve the // media from the timeline item in the payload property. // - VOICE_CALL - Initiate a phone call using the timeline item's // creator.phoneNumber attribute as recipient. // - NAVIGATE - Navigate to the timeline item's location. // - TOGGLE_PINNED - Toggle the isPinned state of the timeline item. // - OPEN_URI - Open the payload of the menu item in the browser. // - PLAY_VIDEO - Open the payload of the menu item in the Glass video // player. // - SEND_MESSAGE - Initiate sending a message to the timeline item's // creator: // - If the creator.phoneNumber is set and Glass is connected to an // Android phone, the message is an SMS. // - Otherwise, if the creator.email is set, the message is an email. Action string `json:"action,omitempty"` // ContextualCommand: The ContextualMenus.Command associated with this // MenuItem (e.g. READ_ALOUD). The voice label for this command will be // displayed in the voice menu and the touch label will be displayed in // the touch menu. Note that the default menu value's display name will // be overriden if you specify this property. Values that do not // correspond to a ContextualMenus.Command name will be ignored. ContextualCommand string `json:"contextual_command,omitempty"` // Id: The ID for this menu item. This is generated by the application // and is treated as an opaque token. Id string `json:"id,omitempty"` // Payload: A generic payload whose meaning changes depending on this // MenuItem's action. // - When the action is OPEN_URI, the payload is the URL of the website // to view. // - When the action is PLAY_VIDEO, the payload is the streaming URL of // the video // - When the action is GET_MEDIA_INPUT, the payload is the text // transcription of a user's speech input Payload string `json:"payload,omitempty"` // RemoveWhenSelected: If set to true on a CUSTOM menu item, that item // will be removed from the menu after it is selected. RemoveWhenSelected bool `json:"removeWhenSelected,omitempty"` // Values: For CUSTOM items, a list of values controlling the appearance // of the menu item in each of its states. A value for the DEFAULT state // must be provided. If the PENDING or CONFIRMED states are missing, // they will not be shown. Values []*MenuValue `json:"values,omitempty"` // ForceSendFields is a list of field names (e.g. "Action") 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. "Action") 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 *MenuItem) MarshalJSON() ([]byte, error) { type NoMethod MenuItem raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // MenuValue: A single value that is part of a MenuItem. type MenuValue struct { // DisplayName: The name to display for the menu item. If you specify // this property for a built-in menu item, the default contextual voice // command for that menu item is not shown. DisplayName string `json:"displayName,omitempty"` // IconUrl: URL of an icon to display with the menu item. IconUrl string `json:"iconUrl,omitempty"` // State: The state that this value applies to. Allowed values are: // - DEFAULT - Default value shown when displayed in the menuItems list. // // - PENDING - Value shown when the menuItem has been selected by the // user but can still be cancelled. // - CONFIRMED - Value shown when the menuItem has been selected by the // user and can no longer be cancelled. State string `json:"state,omitempty"` // ForceSendFields is a list of field names (e.g. "DisplayName") 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. "DisplayName") 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 *MenuValue) MarshalJSON() ([]byte, error) { type NoMethod MenuValue raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // Notification: A notification delivered by the API. type Notification struct { // Collection: The collection that generated the notification. Collection string `json:"collection,omitempty"` // ItemId: The ID of the item that generated the notification. ItemId string `json:"itemId,omitempty"` // Operation: The type of operation that generated the notification. Operation string `json:"operation,omitempty"` // UserActions: A list of actions taken by the user that triggered the // notification. UserActions []*UserAction `json:"userActions,omitempty"` // UserToken: The user token provided by the service when it subscribed // for notifications. UserToken string `json:"userToken,omitempty"` // VerifyToken: The secret verify token provided by the service when it // subscribed for notifications. VerifyToken string `json:"verifyToken,omitempty"` // ForceSendFields is a list of field names (e.g. "Collection") 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. "Collection") 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 *Notification) MarshalJSON() ([]byte, error) { type NoMethod Notification raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // NotificationConfig: Controls how notifications for a timeline item // are presented to the user. type NotificationConfig struct { // DeliveryTime: The time at which the notification should be delivered. DeliveryTime string `json:"deliveryTime,omitempty"` // Level: Describes how important the notification is. Allowed values // are: // - DEFAULT - Notifications of default importance. A chime will be // played to alert users. Level string `json:"level,omitempty"` // ForceSendFields is a list of field names (e.g. "DeliveryTime") 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. "DeliveryTime") 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 *NotificationConfig) MarshalJSON() ([]byte, error) { type NoMethod NotificationConfig raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // Setting: A setting for Glass. type Setting struct { // Id: The setting's ID. The following IDs are valid: // - locale - The key to the user’s language/locale (BCP 47 // identifier) that Glassware should use to render localized content. // // - timezone - The key to the user’s current time zone region as // defined in the tz database. Example: America/Los_Angeles. Id string `json:"id,omitempty"` // Kind: The type of resource. This is always mirror#setting. Kind string `json:"kind,omitempty"` // Value: The setting value, as a string. Value string `json:"value,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Id") 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. "Id") 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 *Setting) MarshalJSON() ([]byte, error) { type NoMethod Setting raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // Subscription: A subscription to events on a collection. type Subscription struct { // CallbackUrl: The URL where notifications should be delivered (must // start with https://). CallbackUrl string `json:"callbackUrl,omitempty"` // Collection: The collection to subscribe to. Allowed values are: // - timeline - Changes in the timeline including insertion, deletion, // and updates. // - locations - Location updates. // - settings - Settings updates. Collection string `json:"collection,omitempty"` // Id: The ID of the subscription. Id string `json:"id,omitempty"` // Kind: The type of resource. This is always mirror#subscription. Kind string `json:"kind,omitempty"` // Notification: Container object for notifications. This is not // populated in the Subscription resource. Notification *Notification `json:"notification,omitempty"` // Operation: A list of operations that should be subscribed to. An // empty list indicates that all operations on the collection should be // subscribed to. Allowed values are: // - UPDATE - The item has been updated. // - INSERT - A new item has been inserted. // - DELETE - The item has been deleted. // - MENU_ACTION - A custom menu item has been triggered by the user. Operation []string `json:"operation,omitempty"` // Updated: The time at which this subscription was last modified, // formatted according to RFC 3339. Updated string `json:"updated,omitempty"` // UserToken: An opaque token sent to the subscriber in notifications so // that it can determine the ID of the user. UserToken string `json:"userToken,omitempty"` // VerifyToken: A secret token sent to the subscriber in notifications // so that it can verify that the notification was generated by Google. VerifyToken string `json:"verifyToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "CallbackUrl") 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. "CallbackUrl") 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 *Subscription) MarshalJSON() ([]byte, error) { type NoMethod Subscription raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // SubscriptionsListResponse: A list of Subscriptions. This is the // response from the server to GET requests on the subscription // collection. type SubscriptionsListResponse struct { // Items: The list of subscriptions. Items []*Subscription `json:"items,omitempty"` // Kind: The type of resource. This is always mirror#subscriptionsList. Kind string `json:"kind,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Items") 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. "Items") 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 *SubscriptionsListResponse) MarshalJSON() ([]byte, error) { type NoMethod SubscriptionsListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // TimelineItem: Each item in the user's timeline is represented as a // TimelineItem JSON structure, described below. type TimelineItem struct { // Attachments: A list of media attachments associated with this item. // As a convenience, you can refer to attachments in your HTML payloads // with the attachment or cid scheme. For example: // - attachment: where // attachment_index is the 0-based index of this array. // - cid: where attachment_id is the ID of // the attachment. Attachments []*Attachment `json:"attachments,omitempty"` // BundleId: The bundle ID for this item. Services can specify a // bundleId to group many items together. They appear under a single // top-level item on the device. BundleId string `json:"bundleId,omitempty"` // CanonicalUrl: A canonical URL pointing to the canonical/high quality // version of the data represented by the timeline item. CanonicalUrl string `json:"canonicalUrl,omitempty"` // Created: The time at which this item was created, formatted according // to RFC 3339. Created string `json:"created,omitempty"` // Creator: The user or group that created this item. Creator *Contact `json:"creator,omitempty"` // DisplayTime: The time that should be displayed when this item is // viewed in the timeline, formatted according to RFC 3339. This user's // timeline is sorted chronologically on display time, so this will also // determine where the item is displayed in the timeline. If not set by // the service, the display time defaults to the updated time. DisplayTime string `json:"displayTime,omitempty"` // Etag: ETag for this item. Etag string `json:"etag,omitempty"` // Html: HTML content for this item. If both text and html are provided // for an item, the html will be rendered in the timeline. // Allowed HTML elements - You can use these elements in your timeline // cards. // // - Headers: h1, h2, h3, h4, h5, h6 // - Images: img // - Lists: li, ol, ul // - HTML5 semantics: article, aside, details, figure, figcaption, // footer, header, nav, section, summary, time // - Structural: blockquote, br, div, hr, p, span // - Style: b, big, center, em, i, u, s, small, strike, strong, style, // sub, sup // - Tables: table, tbody, td, tfoot, th, thead, tr // Blocked HTML elements: These elements and their contents are removed // from HTML payloads. // // - Document headers: head, title // - Embeds: audio, embed, object, source, video // - Frames: frame, frameset // - Scripting: applet, script // Other elements: Any elements that aren't listed are removed, but // their contents are preserved. Html string `json:"html,omitempty"` // Id: The ID of the timeline item. This is unique within a user's // timeline. Id string `json:"id,omitempty"` // InReplyTo: If this item was generated as a reply to another item, // this field will be set to the ID of the item being replied to. This // can be used to attach a reply to the appropriate conversation or // post. InReplyTo string `json:"inReplyTo,omitempty"` // IsBundleCover: Whether this item is a bundle cover. // // If an item is marked as a bundle cover, it will be the entry point to // the bundle of items that have the same bundleId as that item. It will // be shown only on the main timeline — not within the opened // bundle. // // On the main timeline, items that are shown are: // - Items that have isBundleCover set to true // - Items that do not have a bundleId In a bundle sub-timeline, items // that are shown are: // - Items that have the bundleId in question AND isBundleCover set to // false IsBundleCover bool `json:"isBundleCover,omitempty"` // IsDeleted: When true, indicates this item is deleted, and only the ID // property is set. IsDeleted bool `json:"isDeleted,omitempty"` // IsPinned: When true, indicates this item is pinned, which means it's // grouped alongside "active" items like navigation and hangouts, on the // opposite side of the home screen from historical (non-pinned) // timeline items. You can allow the user to toggle the value of this // property with the TOGGLE_PINNED built-in menu item. IsPinned bool `json:"isPinned,omitempty"` // Kind: The type of resource. This is always mirror#timelineItem. Kind string `json:"kind,omitempty"` // Location: The geographic location associated with this item. Location *Location `json:"location,omitempty"` // MenuItems: A list of menu items that will be presented to the user // when this item is selected in the timeline. MenuItems []*MenuItem `json:"menuItems,omitempty"` // Notification: Controls how notifications for this item are presented // on the device. If this is missing, no notification will be generated. Notification *NotificationConfig `json:"notification,omitempty"` // PinScore: For pinned items, this determines the order in which the // item is displayed in the timeline, with a higher score appearing // closer to the clock. Note: setting this field is currently not // supported. PinScore int64 `json:"pinScore,omitempty"` // Recipients: A list of users or groups that this item has been shared // with. Recipients []*Contact `json:"recipients,omitempty"` // SelfLink: A URL that can be used to retrieve this item. SelfLink string `json:"selfLink,omitempty"` // SourceItemId: Opaque string you can use to map a timeline item to // data in your own service. SourceItemId string `json:"sourceItemId,omitempty"` // SpeakableText: The speakable version of the content of this item. // Along with the READ_ALOUD menu item, use this field to provide text // that would be clearer when read aloud, or to provide extended // information to what is displayed visually on Glass. // // Glassware should also specify the speakableType field, which will be // spoken before this text in cases where the additional context is // useful, for example when the user requests that the item be read // aloud following a notification. SpeakableText string `json:"speakableText,omitempty"` // SpeakableType: A speakable description of the type of this item. This // will be announced to the user prior to reading the content of the // item in cases where the additional context is useful, for example // when the user requests that the item be read aloud following a // notification. // // This should be a short, simple noun phrase such as "Email", "Text // message", or "Daily Planet News Update". // // Glassware are encouraged to populate this field for every timeline // item, even if the item does not contain speakableText or text so that // the user can learn the type of the item without looking at the // screen. SpeakableType string `json:"speakableType,omitempty"` // Text: Text content of this item. Text string `json:"text,omitempty"` // Title: The title of this item. Title string `json:"title,omitempty"` // Updated: The time at which this item was last modified, formatted // according to RFC 3339. Updated string `json:"updated,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Attachments") 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. "Attachments") 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 *TimelineItem) MarshalJSON() ([]byte, error) { type NoMethod TimelineItem raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // TimelineListResponse: A list of timeline items. This is the response // from the server to GET requests on the timeline collection. type TimelineListResponse struct { // Items: Items in the timeline. Items []*TimelineItem `json:"items,omitempty"` // Kind: The type of resource. This is always mirror#timeline. Kind string `json:"kind,omitempty"` // NextPageToken: The next page token. Provide this as the pageToken // parameter in the request to retrieve the next page of results. NextPageToken string `json:"nextPageToken,omitempty"` // ServerResponse contains the HTTP response code and headers from the // server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Items") 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. "Items") 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 *TimelineListResponse) MarshalJSON() ([]byte, error) { type NoMethod TimelineListResponse raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // UserAction: Represents an action taken by the user that triggered a // notification. type UserAction struct { // Payload: An optional payload for the action. // // For actions of type CUSTOM, this is the ID of the custom menu item // that was selected. Payload string `json:"payload,omitempty"` // Type: The type of action. The value of this can be: // - SHARE - the user shared an item. // - REPLY - the user replied to an item. // - REPLY_ALL - the user replied to all recipients of an item. // - CUSTOM - the user selected a custom menu item on the timeline item. // // - DELETE - the user deleted the item. // - PIN - the user pinned the item. // - UNPIN - the user unpinned the item. // - LAUNCH - the user initiated a voice command. In the future, // additional types may be added. UserActions with unrecognized types // should be ignored. Type string `json:"type,omitempty"` // ForceSendFields is a list of field names (e.g. "Payload") 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. "Payload") 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 *UserAction) MarshalJSON() ([]byte, error) { type NoMethod UserAction raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } type UserData struct { Key string `json:"key,omitempty"` Value string `json:"value,omitempty"` // ForceSendFields is a list of field names (e.g. "Key") 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. "Key") 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 *UserData) MarshalJSON() ([]byte, error) { type NoMethod UserData raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // method id "mirror.accounts.insert": type AccountsInsertCall struct { s *Service userToken string accountType string accountName string account *Account urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Insert: Inserts a new account for a user func (r *AccountsService) Insert(userToken string, accountType string, accountName string, account *Account) *AccountsInsertCall { c := &AccountsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.userToken = userToken c.accountType = accountType c.accountName = accountName c.account = account 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 *AccountsInsertCall) Fields(s ...googleapi.Field) *AccountsInsertCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) 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 *AccountsInsertCall) Context(ctx context.Context) *AccountsInsertCall { 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 *AccountsInsertCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *AccountsInsertCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.account) if err != nil { return nil, err } reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "accounts/{userToken}/{accountType}/{accountName}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "userToken": c.userToken, "accountType": c.accountType, "accountName": c.accountName, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "mirror.accounts.insert" call. // Exactly one of *Account or error will be non-nil. Any non-2xx status // code is an error. Response headers are in either // *Account.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 *AccountsInsertCall) Do(opts ...googleapi.CallOption) (*Account, 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 := &Account{ 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": "Inserts a new account for a user", // "httpMethod": "POST", // "id": "mirror.accounts.insert", // "parameterOrder": [ // "userToken", // "accountType", // "accountName" // ], // "parameters": { // "accountName": { // "description": "The name of the account to be passed to the Android Account Manager.", // "location": "path", // "required": true, // "type": "string" // }, // "accountType": { // "description": "Account type to be passed to Android Account Manager.", // "location": "path", // "required": true, // "type": "string" // }, // "userToken": { // "description": "The ID for the user.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "accounts/{userToken}/{accountType}/{accountName}", // "request": { // "$ref": "Account" // }, // "response": { // "$ref": "Account" // } // } } // method id "mirror.contacts.delete": type ContactsDeleteCall struct { s *Service id string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes a contact. func (r *ContactsService) Delete(id string) *ContactsDeleteCall { c := &ContactsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.id = id 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 *ContactsDeleteCall) Fields(s ...googleapi.Field) *ContactsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) 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 *ContactsDeleteCall) Context(ctx context.Context) *ContactsDeleteCall { 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 *ContactsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ContactsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "contacts/{id}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "id": c.id, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "mirror.contacts.delete" call. func (c *ContactsDeleteCall) Do(opts ...googleapi.CallOption) error { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if err != nil { return err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return err } return nil // { // "description": "Deletes a contact.", // "httpMethod": "DELETE", // "id": "mirror.contacts.delete", // "parameterOrder": [ // "id" // ], // "parameters": { // "id": { // "description": "The ID of the contact.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "contacts/{id}", // "scopes": [ // "https://www.googleapis.com/auth/glass.timeline" // ] // } } // method id "mirror.contacts.get": type ContactsGetCall struct { s *Service id string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a single contact by ID. func (r *ContactsService) Get(id string) *ContactsGetCall { c := &ContactsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.id = id 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 *ContactsGetCall) Fields(s ...googleapi.Field) *ContactsGetCall { 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 *ContactsGetCall) IfNoneMatch(entityTag string) *ContactsGetCall { 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 *ContactsGetCall) Context(ctx context.Context) *ContactsGetCall { 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 *ContactsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ContactsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) 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, "contacts/{id}") 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{ "id": c.id, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "mirror.contacts.get" call. // Exactly one of *Contact or error will be non-nil. Any non-2xx status // code is an error. Response headers are in either // *Contact.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 *ContactsGetCall) Do(opts ...googleapi.CallOption) (*Contact, 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 := &Contact{ 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 a single contact by ID.", // "httpMethod": "GET", // "id": "mirror.contacts.get", // "parameterOrder": [ // "id" // ], // "parameters": { // "id": { // "description": "The ID of the contact.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "contacts/{id}", // "response": { // "$ref": "Contact" // }, // "scopes": [ // "https://www.googleapis.com/auth/glass.timeline" // ] // } } // method id "mirror.contacts.insert": type ContactsInsertCall struct { s *Service contact *Contact urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Insert: Inserts a new contact. func (r *ContactsService) Insert(contact *Contact) *ContactsInsertCall { c := &ContactsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.contact = contact 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 *ContactsInsertCall) Fields(s ...googleapi.Field) *ContactsInsertCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) 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 *ContactsInsertCall) Context(ctx context.Context) *ContactsInsertCall { 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 *ContactsInsertCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ContactsInsertCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.contact) if err != nil { return nil, err } reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "contacts") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "mirror.contacts.insert" call. // Exactly one of *Contact or error will be non-nil. Any non-2xx status // code is an error. Response headers are in either // *Contact.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 *ContactsInsertCall) Do(opts ...googleapi.CallOption) (*Contact, 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 := &Contact{ 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": "Inserts a new contact.", // "httpMethod": "POST", // "id": "mirror.contacts.insert", // "path": "contacts", // "request": { // "$ref": "Contact" // }, // "response": { // "$ref": "Contact" // }, // "scopes": [ // "https://www.googleapis.com/auth/glass.timeline" // ] // } } // method id "mirror.contacts.list": type ContactsListCall struct { s *Service urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Retrieves a list of contacts for the authenticated user. func (r *ContactsService) List() *ContactsListCall { c := &ContactsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 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 *ContactsListCall) Fields(s ...googleapi.Field) *ContactsListCall { 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 *ContactsListCall) IfNoneMatch(entityTag string) *ContactsListCall { 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 *ContactsListCall) Context(ctx context.Context) *ContactsListCall { 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 *ContactsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ContactsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) 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, "contacts") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "mirror.contacts.list" call. // Exactly one of *ContactsListResponse or error will be non-nil. Any // non-2xx status code is an error. Response headers are in either // *ContactsListResponse.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 *ContactsListCall) Do(opts ...googleapi.CallOption) (*ContactsListResponse, 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 := &ContactsListResponse{ 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": "Retrieves a list of contacts for the authenticated user.", // "httpMethod": "GET", // "id": "mirror.contacts.list", // "path": "contacts", // "response": { // "$ref": "ContactsListResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/glass.timeline" // ] // } } // method id "mirror.contacts.patch": type ContactsPatchCall struct { s *Service id string contact *Contact urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates a contact in place. This method supports patch // semantics. func (r *ContactsService) Patch(id string, contact *Contact) *ContactsPatchCall { c := &ContactsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.id = id c.contact = contact 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 *ContactsPatchCall) Fields(s ...googleapi.Field) *ContactsPatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) 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 *ContactsPatchCall) Context(ctx context.Context) *ContactsPatchCall { 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 *ContactsPatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ContactsPatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.contact) if err != nil { return nil, err } reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "contacts/{id}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "id": c.id, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "mirror.contacts.patch" call. // Exactly one of *Contact or error will be non-nil. Any non-2xx status // code is an error. Response headers are in either // *Contact.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 *ContactsPatchCall) Do(opts ...googleapi.CallOption) (*Contact, 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 := &Contact{ 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": "Updates a contact in place. This method supports patch semantics.", // "httpMethod": "PATCH", // "id": "mirror.contacts.patch", // "parameterOrder": [ // "id" // ], // "parameters": { // "id": { // "description": "The ID of the contact.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "contacts/{id}", // "request": { // "$ref": "Contact" // }, // "response": { // "$ref": "Contact" // }, // "scopes": [ // "https://www.googleapis.com/auth/glass.timeline" // ] // } } // method id "mirror.contacts.update": type ContactsUpdateCall struct { s *Service id string contact *Contact urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Update: Updates a contact in place. func (r *ContactsService) Update(id string, contact *Contact) *ContactsUpdateCall { c := &ContactsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.id = id c.contact = contact 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 *ContactsUpdateCall) Fields(s ...googleapi.Field) *ContactsUpdateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) 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 *ContactsUpdateCall) Context(ctx context.Context) *ContactsUpdateCall { 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 *ContactsUpdateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *ContactsUpdateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.contact) if err != nil { return nil, err } reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "contacts/{id}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PUT", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "id": c.id, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "mirror.contacts.update" call. // Exactly one of *Contact or error will be non-nil. Any non-2xx status // code is an error. Response headers are in either // *Contact.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 *ContactsUpdateCall) Do(opts ...googleapi.CallOption) (*Contact, 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 := &Contact{ 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": "Updates a contact in place.", // "httpMethod": "PUT", // "id": "mirror.contacts.update", // "parameterOrder": [ // "id" // ], // "parameters": { // "id": { // "description": "The ID of the contact.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "contacts/{id}", // "request": { // "$ref": "Contact" // }, // "response": { // "$ref": "Contact" // }, // "scopes": [ // "https://www.googleapis.com/auth/glass.timeline" // ] // } } // method id "mirror.locations.get": type LocationsGetCall struct { s *Service id string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a single location by ID. func (r *LocationsService) Get(id string) *LocationsGetCall { c := &LocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.id = id 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 *LocationsGetCall) Fields(s ...googleapi.Field) *LocationsGetCall { 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 *LocationsGetCall) IfNoneMatch(entityTag string) *LocationsGetCall { 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 *LocationsGetCall) Context(ctx context.Context) *LocationsGetCall { 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 *LocationsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *LocationsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) 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, "locations/{id}") 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{ "id": c.id, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "mirror.locations.get" call. // Exactly one of *Location or error will be non-nil. Any non-2xx status // code is an error. Response headers are in either // *Location.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 *LocationsGetCall) Do(opts ...googleapi.CallOption) (*Location, 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 := &Location{ 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 a single location by ID.", // "httpMethod": "GET", // "id": "mirror.locations.get", // "parameterOrder": [ // "id" // ], // "parameters": { // "id": { // "description": "The ID of the location or latest for the last known location.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "locations/{id}", // "response": { // "$ref": "Location" // }, // "scopes": [ // "https://www.googleapis.com/auth/glass.location", // "https://www.googleapis.com/auth/glass.timeline" // ] // } } // method id "mirror.locations.list": type LocationsListCall struct { s *Service urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Retrieves a list of locations for the user. func (r *LocationsService) List() *LocationsListCall { c := &LocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 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 *LocationsListCall) Fields(s ...googleapi.Field) *LocationsListCall { 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 *LocationsListCall) IfNoneMatch(entityTag string) *LocationsListCall { 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 *LocationsListCall) Context(ctx context.Context) *LocationsListCall { 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 *LocationsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *LocationsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) 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, "locations") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "mirror.locations.list" call. // Exactly one of *LocationsListResponse or error will be non-nil. Any // non-2xx status code is an error. Response headers are in either // *LocationsListResponse.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 *LocationsListCall) Do(opts ...googleapi.CallOption) (*LocationsListResponse, 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 := &LocationsListResponse{ 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": "Retrieves a list of locations for the user.", // "httpMethod": "GET", // "id": "mirror.locations.list", // "path": "locations", // "response": { // "$ref": "LocationsListResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/glass.location", // "https://www.googleapis.com/auth/glass.timeline" // ] // } } // method id "mirror.settings.get": type SettingsGetCall struct { s *Service id string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a single setting by ID. func (r *SettingsService) Get(id string) *SettingsGetCall { c := &SettingsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.id = id 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 *SettingsGetCall) Fields(s ...googleapi.Field) *SettingsGetCall { 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 *SettingsGetCall) IfNoneMatch(entityTag string) *SettingsGetCall { 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 *SettingsGetCall) Context(ctx context.Context) *SettingsGetCall { 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 *SettingsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *SettingsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) 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, "settings/{id}") 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{ "id": c.id, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "mirror.settings.get" call. // Exactly one of *Setting or error will be non-nil. Any non-2xx status // code is an error. Response headers are in either // *Setting.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 *SettingsGetCall) Do(opts ...googleapi.CallOption) (*Setting, 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 := &Setting{ 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 a single setting by ID.", // "httpMethod": "GET", // "id": "mirror.settings.get", // "parameterOrder": [ // "id" // ], // "parameters": { // "id": { // "description": "The ID of the setting. The following IDs are valid: \n- locale - The key to the user’s language/locale (BCP 47 identifier) that Glassware should use to render localized content. \n- timezone - The key to the user’s current time zone region as defined in the tz database. Example: America/Los_Angeles.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "settings/{id}", // "response": { // "$ref": "Setting" // }, // "scopes": [ // "https://www.googleapis.com/auth/glass.timeline" // ] // } } // method id "mirror.subscriptions.delete": type SubscriptionsDeleteCall struct { s *Service id string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes a subscription. func (r *SubscriptionsService) Delete(id string) *SubscriptionsDeleteCall { c := &SubscriptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.id = id 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 *SubscriptionsDeleteCall) Fields(s ...googleapi.Field) *SubscriptionsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) 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 *SubscriptionsDeleteCall) Context(ctx context.Context) *SubscriptionsDeleteCall { 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 *SubscriptionsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *SubscriptionsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "subscriptions/{id}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "id": c.id, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "mirror.subscriptions.delete" call. func (c *SubscriptionsDeleteCall) Do(opts ...googleapi.CallOption) error { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if err != nil { return err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return err } return nil // { // "description": "Deletes a subscription.", // "httpMethod": "DELETE", // "id": "mirror.subscriptions.delete", // "parameterOrder": [ // "id" // ], // "parameters": { // "id": { // "description": "The ID of the subscription.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "subscriptions/{id}", // "scopes": [ // "https://www.googleapis.com/auth/glass.timeline" // ] // } } // method id "mirror.subscriptions.insert": type SubscriptionsInsertCall struct { s *Service subscription *Subscription urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Insert: Creates a new subscription. func (r *SubscriptionsService) Insert(subscription *Subscription) *SubscriptionsInsertCall { c := &SubscriptionsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.subscription = subscription 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 *SubscriptionsInsertCall) Fields(s ...googleapi.Field) *SubscriptionsInsertCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) 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 *SubscriptionsInsertCall) Context(ctx context.Context) *SubscriptionsInsertCall { 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 *SubscriptionsInsertCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *SubscriptionsInsertCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.subscription) if err != nil { return nil, err } reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "subscriptions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "mirror.subscriptions.insert" call. // Exactly one of *Subscription or error will be non-nil. Any non-2xx // status code is an error. Response headers are in either // *Subscription.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 *SubscriptionsInsertCall) Do(opts ...googleapi.CallOption) (*Subscription, 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 := &Subscription{ 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": "Creates a new subscription.", // "httpMethod": "POST", // "id": "mirror.subscriptions.insert", // "path": "subscriptions", // "request": { // "$ref": "Subscription" // }, // "response": { // "$ref": "Subscription" // }, // "scopes": [ // "https://www.googleapis.com/auth/glass.timeline" // ] // } } // method id "mirror.subscriptions.list": type SubscriptionsListCall struct { s *Service urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Retrieves a list of subscriptions for the authenticated user // and service. func (r *SubscriptionsService) List() *SubscriptionsListCall { c := &SubscriptionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} 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 *SubscriptionsListCall) Fields(s ...googleapi.Field) *SubscriptionsListCall { 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 *SubscriptionsListCall) IfNoneMatch(entityTag string) *SubscriptionsListCall { 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 *SubscriptionsListCall) Context(ctx context.Context) *SubscriptionsListCall { 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 *SubscriptionsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *SubscriptionsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) 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, "subscriptions") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "mirror.subscriptions.list" call. // Exactly one of *SubscriptionsListResponse or error will be non-nil. // Any non-2xx status code is an error. Response headers are in either // *SubscriptionsListResponse.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 *SubscriptionsListCall) Do(opts ...googleapi.CallOption) (*SubscriptionsListResponse, 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 := &SubscriptionsListResponse{ 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": "Retrieves a list of subscriptions for the authenticated user and service.", // "httpMethod": "GET", // "id": "mirror.subscriptions.list", // "path": "subscriptions", // "response": { // "$ref": "SubscriptionsListResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/glass.timeline" // ] // } } // method id "mirror.subscriptions.update": type SubscriptionsUpdateCall struct { s *Service id string subscription *Subscription urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Update: Updates an existing subscription in place. func (r *SubscriptionsService) Update(id string, subscription *Subscription) *SubscriptionsUpdateCall { c := &SubscriptionsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.id = id c.subscription = subscription 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 *SubscriptionsUpdateCall) Fields(s ...googleapi.Field) *SubscriptionsUpdateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) 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 *SubscriptionsUpdateCall) Context(ctx context.Context) *SubscriptionsUpdateCall { 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 *SubscriptionsUpdateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *SubscriptionsUpdateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.subscription) if err != nil { return nil, err } reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "subscriptions/{id}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PUT", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "id": c.id, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "mirror.subscriptions.update" call. // Exactly one of *Subscription or error will be non-nil. Any non-2xx // status code is an error. Response headers are in either // *Subscription.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 *SubscriptionsUpdateCall) Do(opts ...googleapi.CallOption) (*Subscription, 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 := &Subscription{ 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": "Updates an existing subscription in place.", // "httpMethod": "PUT", // "id": "mirror.subscriptions.update", // "parameterOrder": [ // "id" // ], // "parameters": { // "id": { // "description": "The ID of the subscription.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "subscriptions/{id}", // "request": { // "$ref": "Subscription" // }, // "response": { // "$ref": "Subscription" // }, // "scopes": [ // "https://www.googleapis.com/auth/glass.timeline" // ] // } } // method id "mirror.timeline.delete": type TimelineDeleteCall struct { s *Service id string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes a timeline item. func (r *TimelineService) Delete(id string) *TimelineDeleteCall { c := &TimelineDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.id = id 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 *TimelineDeleteCall) Fields(s ...googleapi.Field) *TimelineDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) 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 *TimelineDeleteCall) Context(ctx context.Context) *TimelineDeleteCall { 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 *TimelineDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *TimelineDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "timeline/{id}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "id": c.id, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "mirror.timeline.delete" call. func (c *TimelineDeleteCall) Do(opts ...googleapi.CallOption) error { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if err != nil { return err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return err } return nil // { // "description": "Deletes a timeline item.", // "httpMethod": "DELETE", // "id": "mirror.timeline.delete", // "parameterOrder": [ // "id" // ], // "parameters": { // "id": { // "description": "The ID of the timeline item.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "timeline/{id}", // "scopes": [ // "https://www.googleapis.com/auth/glass.location", // "https://www.googleapis.com/auth/glass.timeline" // ] // } } // method id "mirror.timeline.get": type TimelineGetCall struct { s *Service id string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Gets a single timeline item by ID. func (r *TimelineService) Get(id string) *TimelineGetCall { c := &TimelineGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.id = id 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 *TimelineGetCall) Fields(s ...googleapi.Field) *TimelineGetCall { 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 *TimelineGetCall) IfNoneMatch(entityTag string) *TimelineGetCall { 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 *TimelineGetCall) Context(ctx context.Context) *TimelineGetCall { 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 *TimelineGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *TimelineGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) 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, "timeline/{id}") 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{ "id": c.id, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "mirror.timeline.get" call. // Exactly one of *TimelineItem or error will be non-nil. Any non-2xx // status code is an error. Response headers are in either // *TimelineItem.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 *TimelineGetCall) Do(opts ...googleapi.CallOption) (*TimelineItem, 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 := &TimelineItem{ 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 a single timeline item by ID.", // "httpMethod": "GET", // "id": "mirror.timeline.get", // "parameterOrder": [ // "id" // ], // "parameters": { // "id": { // "description": "The ID of the timeline item.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "timeline/{id}", // "response": { // "$ref": "TimelineItem" // }, // "scopes": [ // "https://www.googleapis.com/auth/glass.location", // "https://www.googleapis.com/auth/glass.timeline" // ] // } } // method id "mirror.timeline.insert": type TimelineInsertCall struct { s *Service timelineitem *TimelineItem urlParams_ gensupport.URLParams mediaInfo_ *gensupport.MediaInfo ctx_ context.Context header_ http.Header } // Insert: Inserts a new item into the timeline. func (r *TimelineService) Insert(timelineitem *TimelineItem) *TimelineInsertCall { c := &TimelineInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.timelineitem = timelineitem return c } // Media specifies the media to upload in one or more chunks. The chunk // size may be controlled by supplying a MediaOption generated by // googleapi.ChunkSize. The chunk size defaults to // googleapi.DefaultUploadChunkSize.The Content-Type header used in the // upload request will be determined by sniffing the contents of r, // unless a MediaOption generated by googleapi.ContentType is // supplied. // At most one of Media and ResumableMedia may be set. func (c *TimelineInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *TimelineInsertCall { c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } // ResumableMedia specifies the media to upload in chunks and can be // canceled with ctx. // // Deprecated: use Media instead. // // At most one of Media and ResumableMedia may be set. mediaType // identifies the MIME media type of the upload, such as "image/png". If // mediaType is "", it will be auto-detected. The provided ctx will // supersede any context previously provided to the Context method. func (c *TimelineInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *TimelineInsertCall { c.ctx_ = ctx c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } // ProgressUpdater provides a callback function that will be called // after every chunk. It should be a low-latency function in order to // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *TimelineInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *TimelineInsertCall { c.mediaInfo_.SetProgressUpdater(pu) 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 *TimelineInsertCall) Fields(s ...googleapi.Field) *TimelineInsertCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) 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. // This context will supersede any context previously provided to the // ResumableMedia method. func (c *TimelineInsertCall) Context(ctx context.Context) *TimelineInsertCall { 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 *TimelineInsertCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *TimelineInsertCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.timelineitem) if err != nil { return nil, err } reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "timeline") if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) defer cleanup() urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders req.GetBody = getBody return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "mirror.timeline.insert" call. // Exactly one of *TimelineItem or error will be non-nil. Any non-2xx // status code is an error. Response headers are in either // *TimelineItem.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 *TimelineInsertCall) Do(opts ...googleapi.CallOption) (*TimelineItem, 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 } rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) if rx != nil { rx.Client = c.s.client rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() } res, err = rx.Upload(ctx) if err != nil { return nil, err } defer res.Body.Close() if err := googleapi.CheckResponse(res); err != nil { return nil, err } } ret := &TimelineItem{ 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": "Inserts a new item into the timeline.", // "httpMethod": "POST", // "id": "mirror.timeline.insert", // "mediaUpload": { // "accept": [ // "audio/*", // "image/*", // "video/*" // ], // "maxSize": "10MB", // "protocols": { // "resumable": { // "multipart": true, // "path": "/resumable/upload/mirror/v1/timeline" // }, // "simple": { // "multipart": true, // "path": "/upload/mirror/v1/timeline" // } // } // }, // "path": "timeline", // "request": { // "$ref": "TimelineItem" // }, // "response": { // "$ref": "TimelineItem" // }, // "scopes": [ // "https://www.googleapis.com/auth/glass.location", // "https://www.googleapis.com/auth/glass.timeline" // ], // "supportsMediaUpload": true // } } // method id "mirror.timeline.list": type TimelineListCall struct { s *Service urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Retrieves a list of timeline items for the authenticated user. func (r *TimelineService) List() *TimelineListCall { c := &TimelineListCall{s: r.s, urlParams_: make(gensupport.URLParams)} return c } // BundleId sets the optional parameter "bundleId": If provided, only // items with the given bundleId will be returned. func (c *TimelineListCall) BundleId(bundleId string) *TimelineListCall { c.urlParams_.Set("bundleId", bundleId) return c } // IncludeDeleted sets the optional parameter "includeDeleted": If true, // tombstone records for deleted items will be returned. func (c *TimelineListCall) IncludeDeleted(includeDeleted bool) *TimelineListCall { c.urlParams_.Set("includeDeleted", fmt.Sprint(includeDeleted)) return c } // MaxResults sets the optional parameter "maxResults": The maximum // number of items to include in the response, used for paging. func (c *TimelineListCall) MaxResults(maxResults int64) *TimelineListCall { c.urlParams_.Set("maxResults", fmt.Sprint(maxResults)) return c } // OrderBy sets the optional parameter "orderBy": Controls the order in // which timeline items are returned. // // Possible values: // "displayTime" - Results will be ordered by displayTime (default). // This is the same ordering as is used in the timeline on the device. // "writeTime" - Results will be ordered by the time at which they // were last written to the data store. func (c *TimelineListCall) OrderBy(orderBy string) *TimelineListCall { c.urlParams_.Set("orderBy", orderBy) return c } // PageToken sets the optional parameter "pageToken": Token for the page // of results to return. func (c *TimelineListCall) PageToken(pageToken string) *TimelineListCall { c.urlParams_.Set("pageToken", pageToken) return c } // PinnedOnly sets the optional parameter "pinnedOnly": If true, only // pinned items will be returned. func (c *TimelineListCall) PinnedOnly(pinnedOnly bool) *TimelineListCall { c.urlParams_.Set("pinnedOnly", fmt.Sprint(pinnedOnly)) return c } // SourceItemId sets the optional parameter "sourceItemId": If provided, // only items with the given sourceItemId will be returned. func (c *TimelineListCall) SourceItemId(sourceItemId string) *TimelineListCall { c.urlParams_.Set("sourceItemId", sourceItemId) 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 *TimelineListCall) Fields(s ...googleapi.Field) *TimelineListCall { 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 *TimelineListCall) IfNoneMatch(entityTag string) *TimelineListCall { 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 *TimelineListCall) Context(ctx context.Context) *TimelineListCall { 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 *TimelineListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *TimelineListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) 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, "timeline") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("GET", urls, body) if err != nil { return nil, err } req.Header = reqHeaders return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "mirror.timeline.list" call. // Exactly one of *TimelineListResponse or error will be non-nil. Any // non-2xx status code is an error. Response headers are in either // *TimelineListResponse.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 *TimelineListCall) Do(opts ...googleapi.CallOption) (*TimelineListResponse, 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 := &TimelineListResponse{ 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": "Retrieves a list of timeline items for the authenticated user.", // "httpMethod": "GET", // "id": "mirror.timeline.list", // "parameters": { // "bundleId": { // "description": "If provided, only items with the given bundleId will be returned.", // "location": "query", // "type": "string" // }, // "includeDeleted": { // "description": "If true, tombstone records for deleted items will be returned.", // "location": "query", // "type": "boolean" // }, // "maxResults": { // "description": "The maximum number of items to include in the response, used for paging.", // "format": "uint32", // "location": "query", // "type": "integer" // }, // "orderBy": { // "description": "Controls the order in which timeline items are returned.", // "enum": [ // "displayTime", // "writeTime" // ], // "enumDescriptions": [ // "Results will be ordered by displayTime (default). This is the same ordering as is used in the timeline on the device.", // "Results will be ordered by the time at which they were last written to the data store." // ], // "location": "query", // "type": "string" // }, // "pageToken": { // "description": "Token for the page of results to return.", // "location": "query", // "type": "string" // }, // "pinnedOnly": { // "description": "If true, only pinned items will be returned.", // "location": "query", // "type": "boolean" // }, // "sourceItemId": { // "description": "If provided, only items with the given sourceItemId will be returned.", // "location": "query", // "type": "string" // } // }, // "path": "timeline", // "response": { // "$ref": "TimelineListResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/glass.location", // "https://www.googleapis.com/auth/glass.timeline" // ] // } } // 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 *TimelineListCall) Pages(ctx context.Context, f func(*TimelineListResponse) 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) } } // method id "mirror.timeline.patch": type TimelinePatchCall struct { s *Service id string timelineitem *TimelineItem urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Patch: Updates a timeline item in place. This method supports patch // semantics. func (r *TimelineService) Patch(id string, timelineitem *TimelineItem) *TimelinePatchCall { c := &TimelinePatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.id = id c.timelineitem = timelineitem 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 *TimelinePatchCall) Fields(s ...googleapi.Field) *TimelinePatchCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) 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 *TimelinePatchCall) Context(ctx context.Context) *TimelinePatchCall { 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 *TimelinePatchCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *TimelinePatchCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.timelineitem) if err != nil { return nil, err } reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "timeline/{id}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PATCH", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "id": c.id, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "mirror.timeline.patch" call. // Exactly one of *TimelineItem or error will be non-nil. Any non-2xx // status code is an error. Response headers are in either // *TimelineItem.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 *TimelinePatchCall) Do(opts ...googleapi.CallOption) (*TimelineItem, 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 := &TimelineItem{ 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": "Updates a timeline item in place. This method supports patch semantics.", // "httpMethod": "PATCH", // "id": "mirror.timeline.patch", // "parameterOrder": [ // "id" // ], // "parameters": { // "id": { // "description": "The ID of the timeline item.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "timeline/{id}", // "request": { // "$ref": "TimelineItem" // }, // "response": { // "$ref": "TimelineItem" // }, // "scopes": [ // "https://www.googleapis.com/auth/glass.location", // "https://www.googleapis.com/auth/glass.timeline" // ] // } } // method id "mirror.timeline.update": type TimelineUpdateCall struct { s *Service id string timelineitem *TimelineItem urlParams_ gensupport.URLParams mediaInfo_ *gensupport.MediaInfo ctx_ context.Context header_ http.Header } // Update: Updates a timeline item in place. func (r *TimelineService) Update(id string, timelineitem *TimelineItem) *TimelineUpdateCall { c := &TimelineUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.id = id c.timelineitem = timelineitem return c } // Media specifies the media to upload in one or more chunks. The chunk // size may be controlled by supplying a MediaOption generated by // googleapi.ChunkSize. The chunk size defaults to // googleapi.DefaultUploadChunkSize.The Content-Type header used in the // upload request will be determined by sniffing the contents of r, // unless a MediaOption generated by googleapi.ContentType is // supplied. // At most one of Media and ResumableMedia may be set. func (c *TimelineUpdateCall) Media(r io.Reader, options ...googleapi.MediaOption) *TimelineUpdateCall { c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } // ResumableMedia specifies the media to upload in chunks and can be // canceled with ctx. // // Deprecated: use Media instead. // // At most one of Media and ResumableMedia may be set. mediaType // identifies the MIME media type of the upload, such as "image/png". If // mediaType is "", it will be auto-detected. The provided ctx will // supersede any context previously provided to the Context method. func (c *TimelineUpdateCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *TimelineUpdateCall { c.ctx_ = ctx c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } // ProgressUpdater provides a callback function that will be called // after every chunk. It should be a low-latency function in order to // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *TimelineUpdateCall) ProgressUpdater(pu googleapi.ProgressUpdater) *TimelineUpdateCall { c.mediaInfo_.SetProgressUpdater(pu) 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 *TimelineUpdateCall) Fields(s ...googleapi.Field) *TimelineUpdateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) 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. // This context will supersede any context previously provided to the // ResumableMedia method. func (c *TimelineUpdateCall) Context(ctx context.Context) *TimelineUpdateCall { 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 *TimelineUpdateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *TimelineUpdateCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(c.timelineitem) if err != nil { return nil, err } reqHeaders.Set("Content-Type", "application/json") c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "timeline/{id}") if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) defer cleanup() urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("PUT", urls, body) if err != nil { return nil, err } req.Header = reqHeaders req.GetBody = getBody googleapi.Expand(req.URL, map[string]string{ "id": c.id, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "mirror.timeline.update" call. // Exactly one of *TimelineItem or error will be non-nil. Any non-2xx // status code is an error. Response headers are in either // *TimelineItem.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 *TimelineUpdateCall) Do(opts ...googleapi.CallOption) (*TimelineItem, 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 } rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) if rx != nil { rx.Client = c.s.client rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() } res, err = rx.Upload(ctx) if err != nil { return nil, err } defer res.Body.Close() if err := googleapi.CheckResponse(res); err != nil { return nil, err } } ret := &TimelineItem{ 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": "Updates a timeline item in place.", // "httpMethod": "PUT", // "id": "mirror.timeline.update", // "mediaUpload": { // "accept": [ // "audio/*", // "image/*", // "video/*" // ], // "maxSize": "10MB", // "protocols": { // "resumable": { // "multipart": true, // "path": "/resumable/upload/mirror/v1/timeline/{id}" // }, // "simple": { // "multipart": true, // "path": "/upload/mirror/v1/timeline/{id}" // } // } // }, // "parameterOrder": [ // "id" // ], // "parameters": { // "id": { // "description": "The ID of the timeline item.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "timeline/{id}", // "request": { // "$ref": "TimelineItem" // }, // "response": { // "$ref": "TimelineItem" // }, // "scopes": [ // "https://www.googleapis.com/auth/glass.location", // "https://www.googleapis.com/auth/glass.timeline" // ], // "supportsMediaUpload": true // } } // method id "mirror.timeline.attachments.delete": type TimelineAttachmentsDeleteCall struct { s *Service itemId string attachmentId string urlParams_ gensupport.URLParams ctx_ context.Context header_ http.Header } // Delete: Deletes an attachment from a timeline item. func (r *TimelineAttachmentsService) Delete(itemId string, attachmentId string) *TimelineAttachmentsDeleteCall { c := &TimelineAttachmentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.itemId = itemId c.attachmentId = attachmentId 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 *TimelineAttachmentsDeleteCall) Fields(s ...googleapi.Field) *TimelineAttachmentsDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) 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 *TimelineAttachmentsDeleteCall) Context(ctx context.Context) *TimelineAttachmentsDeleteCall { 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 *TimelineAttachmentsDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *TimelineAttachmentsDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "timeline/{itemId}/attachments/{attachmentId}") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "itemId": c.itemId, "attachmentId": c.attachmentId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "mirror.timeline.attachments.delete" call. func (c *TimelineAttachmentsDeleteCall) Do(opts ...googleapi.CallOption) error { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if err != nil { return err } defer googleapi.CloseBody(res) if err := googleapi.CheckResponse(res); err != nil { return err } return nil // { // "description": "Deletes an attachment from a timeline item.", // "httpMethod": "DELETE", // "id": "mirror.timeline.attachments.delete", // "parameterOrder": [ // "itemId", // "attachmentId" // ], // "parameters": { // "attachmentId": { // "description": "The ID of the attachment.", // "location": "path", // "required": true, // "type": "string" // }, // "itemId": { // "description": "The ID of the timeline item the attachment belongs to.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "timeline/{itemId}/attachments/{attachmentId}", // "scopes": [ // "https://www.googleapis.com/auth/glass.timeline" // ] // } } // method id "mirror.timeline.attachments.get": type TimelineAttachmentsGetCall struct { s *Service itemId string attachmentId string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // Get: Retrieves an attachment on a timeline item by item ID and // attachment ID. func (r *TimelineAttachmentsService) Get(itemId string, attachmentId string) *TimelineAttachmentsGetCall { c := &TimelineAttachmentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.itemId = itemId c.attachmentId = attachmentId 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 *TimelineAttachmentsGetCall) Fields(s ...googleapi.Field) *TimelineAttachmentsGetCall { 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 *TimelineAttachmentsGetCall) IfNoneMatch(entityTag string) *TimelineAttachmentsGetCall { c.ifNoneMatch_ = entityTag return c } // Context sets the context to be used in this call's Do and Download // methods. Any pending HTTP request will be aborted if the provided // context is canceled. func (c *TimelineAttachmentsGetCall) Context(ctx context.Context) *TimelineAttachmentsGetCall { 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 *TimelineAttachmentsGetCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *TimelineAttachmentsGetCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) 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, "timeline/{itemId}/attachments/{attachmentId}") 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{ "itemId": c.itemId, "attachmentId": c.attachmentId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Download fetches the API endpoint's "media" value, instead of the normal // API response value. If the returned error is nil, the Response is guaranteed to // have a 2xx status code. Callers must close the Response.Body as usual. func (c *TimelineAttachmentsGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("media") if err != nil { return nil, err } if err := googleapi.CheckMediaResponse(res); err != nil { res.Body.Close() return nil, err } return res, nil } // Do executes the "mirror.timeline.attachments.get" call. // Exactly one of *Attachment or error will be non-nil. Any non-2xx // status code is an error. Response headers are in either // *Attachment.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 *TimelineAttachmentsGetCall) Do(opts ...googleapi.CallOption) (*Attachment, 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 := &Attachment{ 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": "Retrieves an attachment on a timeline item by item ID and attachment ID.", // "httpMethod": "GET", // "id": "mirror.timeline.attachments.get", // "parameterOrder": [ // "itemId", // "attachmentId" // ], // "parameters": { // "attachmentId": { // "description": "The ID of the attachment.", // "location": "path", // "required": true, // "type": "string" // }, // "itemId": { // "description": "The ID of the timeline item the attachment belongs to.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "timeline/{itemId}/attachments/{attachmentId}", // "response": { // "$ref": "Attachment" // }, // "scopes": [ // "https://www.googleapis.com/auth/glass.timeline" // ], // "supportsMediaDownload": true // } } // method id "mirror.timeline.attachments.insert": type TimelineAttachmentsInsertCall struct { s *Service itemId string urlParams_ gensupport.URLParams mediaInfo_ *gensupport.MediaInfo ctx_ context.Context header_ http.Header } // Insert: Adds a new attachment to a timeline item. func (r *TimelineAttachmentsService) Insert(itemId string) *TimelineAttachmentsInsertCall { c := &TimelineAttachmentsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.itemId = itemId return c } // Media specifies the media to upload in one or more chunks. The chunk // size may be controlled by supplying a MediaOption generated by // googleapi.ChunkSize. The chunk size defaults to // googleapi.DefaultUploadChunkSize.The Content-Type header used in the // upload request will be determined by sniffing the contents of r, // unless a MediaOption generated by googleapi.ContentType is // supplied. // At most one of Media and ResumableMedia may be set. func (c *TimelineAttachmentsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *TimelineAttachmentsInsertCall { c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) return c } // ResumableMedia specifies the media to upload in chunks and can be // canceled with ctx. // // Deprecated: use Media instead. // // At most one of Media and ResumableMedia may be set. mediaType // identifies the MIME media type of the upload, such as "image/png". If // mediaType is "", it will be auto-detected. The provided ctx will // supersede any context previously provided to the Context method. func (c *TimelineAttachmentsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *TimelineAttachmentsInsertCall { c.ctx_ = ctx c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) return c } // ProgressUpdater provides a callback function that will be called // after every chunk. It should be a low-latency function in order to // not slow down the upload operation. This should only be called when // using ResumableMedia (as opposed to Media). func (c *TimelineAttachmentsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *TimelineAttachmentsInsertCall { c.mediaInfo_.SetProgressUpdater(pu) 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 *TimelineAttachmentsInsertCall) Fields(s ...googleapi.Field) *TimelineAttachmentsInsertCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) 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. // This context will supersede any context previously provided to the // ResumableMedia method. func (c *TimelineAttachmentsInsertCall) Context(ctx context.Context) *TimelineAttachmentsInsertCall { 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 *TimelineAttachmentsInsertCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *TimelineAttachmentsInsertCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) for k, v := range c.header_ { reqHeaders[k] = v } reqHeaders.Set("User-Agent", c.s.userAgent()) var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "timeline/{itemId}/attachments") if c.mediaInfo_ != nil { urls = strings.Replace(urls, "https://www.googleapis.com/", "https://www.googleapis.com/upload/", 1) c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) } if body == nil { body = new(bytes.Buffer) reqHeaders.Set("Content-Type", "application/json") } body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) defer cleanup() urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { return nil, err } req.Header = reqHeaders req.GetBody = getBody googleapi.Expand(req.URL, map[string]string{ "itemId": c.itemId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "mirror.timeline.attachments.insert" call. // Exactly one of *Attachment or error will be non-nil. Any non-2xx // status code is an error. Response headers are in either // *Attachment.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 *TimelineAttachmentsInsertCall) Do(opts ...googleapi.CallOption) (*Attachment, 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 } rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) if rx != nil { rx.Client = c.s.client rx.UserAgent = c.s.userAgent() ctx := c.ctx_ if ctx == nil { ctx = context.TODO() } res, err = rx.Upload(ctx) if err != nil { return nil, err } defer res.Body.Close() if err := googleapi.CheckResponse(res); err != nil { return nil, err } } ret := &Attachment{ 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": "Adds a new attachment to a timeline item.", // "httpMethod": "POST", // "id": "mirror.timeline.attachments.insert", // "mediaUpload": { // "accept": [ // "audio/*", // "image/*", // "video/*" // ], // "maxSize": "10MB", // "protocols": { // "resumable": { // "multipart": true, // "path": "/resumable/upload/mirror/v1/timeline/{itemId}/attachments" // }, // "simple": { // "multipart": true, // "path": "/upload/mirror/v1/timeline/{itemId}/attachments" // } // } // }, // "parameterOrder": [ // "itemId" // ], // "parameters": { // "itemId": { // "description": "The ID of the timeline item the attachment belongs to.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "timeline/{itemId}/attachments", // "response": { // "$ref": "Attachment" // }, // "scopes": [ // "https://www.googleapis.com/auth/glass.timeline" // ], // "supportsMediaUpload": true // } } // method id "mirror.timeline.attachments.list": type TimelineAttachmentsListCall struct { s *Service itemId string urlParams_ gensupport.URLParams ifNoneMatch_ string ctx_ context.Context header_ http.Header } // List: Returns a list of attachments for a timeline item. func (r *TimelineAttachmentsService) List(itemId string) *TimelineAttachmentsListCall { c := &TimelineAttachmentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.itemId = itemId 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 *TimelineAttachmentsListCall) Fields(s ...googleapi.Field) *TimelineAttachmentsListCall { 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 *TimelineAttachmentsListCall) IfNoneMatch(entityTag string) *TimelineAttachmentsListCall { 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 *TimelineAttachmentsListCall) Context(ctx context.Context) *TimelineAttachmentsListCall { 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 *TimelineAttachmentsListCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } func (c *TimelineAttachmentsListCall) doRequest(alt string) (*http.Response, error) { reqHeaders := make(http.Header) 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, "timeline/{itemId}/attachments") 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{ "itemId": c.itemId, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "mirror.timeline.attachments.list" call. // Exactly one of *AttachmentsListResponse or error will be non-nil. Any // non-2xx status code is an error. Response headers are in either // *AttachmentsListResponse.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 *TimelineAttachmentsListCall) Do(opts ...googleapi.CallOption) (*AttachmentsListResponse, 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 := &AttachmentsListResponse{ 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": "Returns a list of attachments for a timeline item.", // "httpMethod": "GET", // "id": "mirror.timeline.attachments.list", // "parameterOrder": [ // "itemId" // ], // "parameters": { // "itemId": { // "description": "The ID of the timeline item whose attachments should be listed.", // "location": "path", // "required": true, // "type": "string" // } // }, // "path": "timeline/{itemId}/attachments", // "response": { // "$ref": "AttachmentsListResponse" // }, // "scopes": [ // "https://www.googleapis.com/auth/glass.timeline" // ] // } }