| // Copyright 2026 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 fitness provides access to the Fitness API. | |
| // | |
| // For product documentation, see: https://developers.google.com/fit/rest/v1/get-started | |
| // | |
| // # Library status | |
| // | |
| // These client libraries are officially supported by Google. However, this | |
| // library is considered complete and is in maintenance mode. This means | |
| // that we will address critical bugs and security issues but will not add | |
| // any new features. | |
| // | |
| // When possible, we recommend using our newer | |
| // [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go) | |
| // that are still actively being worked and iterated on. | |
| // | |
| // # Creating a client | |
| // | |
| // Usage example: | |
| // | |
| // import "google.golang.org/api/fitness/v1" | |
| // ... | |
| // ctx := context.Background() | |
| // fitnessService, err := fitness.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 [google.golang.org/api/option.WithScopes]: | |
| // | |
| // fitnessService, err := fitness.NewService(ctx, option.WithScopes(fitness.FitnessSleepWriteScope)) | |
| // | |
| // To use an API key for authentication (note: some APIs do not support API | |
| // keys), use [google.golang.org/api/option.WithAPIKey]: | |
| // | |
| // fitnessService, err := fitness.NewService(ctx, option.WithAPIKey("AIza...")) | |
| // | |
| // To use an OAuth token (e.g., a user token obtained via a three-legged OAuth | |
| // flow, use [google.golang.org/api/option.WithTokenSource]: | |
| // | |
| // config := &oauth2.Config{...} | |
| // // ... | |
| // token, err := config.Exchange(ctx, ...) | |
| // fitnessService, err := fitness.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token))) | |
| // | |
| // See [google.golang.org/api/option.ClientOption] for details on options. | |
| package fitness // import "google.golang.org/api/fitness/v1" | |
| import ( | |
| "bytes" | |
| "context" | |
| "encoding/json" | |
| "errors" | |
| "fmt" | |
| "io" | |
| "log/slog" | |
| "net/http" | |
| "net/url" | |
| "strconv" | |
| "strings" | |
| "github.com/googleapis/gax-go/v2/internallog" | |
| googleapi "google.golang.org/api/googleapi" | |
| internal "google.golang.org/api/internal" | |
| gensupport "google.golang.org/api/internal/gensupport" | |
| option "google.golang.org/api/option" | |
| internaloption "google.golang.org/api/option/internaloption" | |
| htransport "google.golang.org/api/transport/http" | |
| ) | |
| // Always reference these packages, just in case the auto-generated code | |
| // below doesn't. | |
| var _ = bytes.NewBuffer | |
| var _ = strconv.Itoa | |
| var _ = fmt.Sprintf | |
| var _ = json.NewDecoder | |
| var _ = io.Copy | |
| var _ = url.Parse | |
| var _ = gensupport.MarshalJSON | |
| var _ = googleapi.Version | |
| var _ = errors.New | |
| var _ = strings.Replace | |
| var _ = context.Canceled | |
| var _ = internaloption.WithDefaultEndpoint | |
| var _ = internal.Version | |
| var _ = internallog.New | |
| const apiId = "fitness:v1" | |
| const apiName = "fitness" | |
| const apiVersion = "v1" | |
| const basePath = "https://fitness.googleapis.com/fitness/v1/users/" | |
| const basePathTemplate = "https://fitness.UNIVERSE_DOMAIN/fitness/v1/users/" | |
| const mtlsBasePath = "https://fitness.mtls.googleapis.com/fitness/v1/users/" | |
| // OAuth2 scopes used by this API. | |
| const ( | |
| // Use Google Fit to see and store your physical activity data | |
| FitnessActivityReadScope = "https://www.googleapis.com/auth/fitness.activity.read" | |
| // Add to your Google Fit physical activity data | |
| FitnessActivityWriteScope = "https://www.googleapis.com/auth/fitness.activity.write" | |
| // See info about your blood glucose in Google Fit. I consent to Google sharing | |
| // my blood glucose information with this app. | |
| FitnessBloodGlucoseReadScope = "https://www.googleapis.com/auth/fitness.blood_glucose.read" | |
| // Add info about your blood glucose to Google Fit. I consent to Google using | |
| // my blood glucose information with this app. | |
| FitnessBloodGlucoseWriteScope = "https://www.googleapis.com/auth/fitness.blood_glucose.write" | |
| // See info about your blood pressure in Google Fit. I consent to Google | |
| // sharing my blood pressure information with this app. | |
| FitnessBloodPressureReadScope = "https://www.googleapis.com/auth/fitness.blood_pressure.read" | |
| // Add info about your blood pressure in Google Fit. I consent to Google using | |
| // my blood pressure information with this app. | |
| FitnessBloodPressureWriteScope = "https://www.googleapis.com/auth/fitness.blood_pressure.write" | |
| // See info about your body measurements in Google Fit | |
| FitnessBodyReadScope = "https://www.googleapis.com/auth/fitness.body.read" | |
| // Add info about your body measurements to Google Fit | |
| FitnessBodyWriteScope = "https://www.googleapis.com/auth/fitness.body.write" | |
| // See info about your body temperature in Google Fit. I consent to Google | |
| // sharing my body temperature information with this app. | |
| FitnessBodyTemperatureReadScope = "https://www.googleapis.com/auth/fitness.body_temperature.read" | |
| // Add to info about your body temperature in Google Fit. I consent to Google | |
| // using my body temperature information with this app. | |
| FitnessBodyTemperatureWriteScope = "https://www.googleapis.com/auth/fitness.body_temperature.write" | |
| // See your heart rate data in Google Fit. I consent to Google sharing my heart | |
| // rate information with this app. | |
| FitnessHeartRateReadScope = "https://www.googleapis.com/auth/fitness.heart_rate.read" | |
| // Add to your heart rate data in Google Fit. I consent to Google using my | |
| // heart rate information with this app. | |
| FitnessHeartRateWriteScope = "https://www.googleapis.com/auth/fitness.heart_rate.write" | |
| // See your Google Fit speed and distance data | |
| FitnessLocationReadScope = "https://www.googleapis.com/auth/fitness.location.read" | |
| // Add to your Google Fit location data | |
| FitnessLocationWriteScope = "https://www.googleapis.com/auth/fitness.location.write" | |
| // See info about your nutrition in Google Fit | |
| FitnessNutritionReadScope = "https://www.googleapis.com/auth/fitness.nutrition.read" | |
| // Add to info about your nutrition in Google Fit | |
| FitnessNutritionWriteScope = "https://www.googleapis.com/auth/fitness.nutrition.write" | |
| // See info about your oxygen saturation in Google Fit. I consent to Google | |
| // sharing my oxygen saturation information with this app. | |
| FitnessOxygenSaturationReadScope = "https://www.googleapis.com/auth/fitness.oxygen_saturation.read" | |
| // Add info about your oxygen saturation in Google Fit. I consent to Google | |
| // using my oxygen saturation information with this app. | |
| FitnessOxygenSaturationWriteScope = "https://www.googleapis.com/auth/fitness.oxygen_saturation.write" | |
| // See info about your reproductive health in Google Fit. I consent to Google | |
| // sharing my reproductive health information with this app. | |
| FitnessReproductiveHealthReadScope = "https://www.googleapis.com/auth/fitness.reproductive_health.read" | |
| // Add info about your reproductive health in Google Fit. I consent to Google | |
| // using my reproductive health information with this app. | |
| FitnessReproductiveHealthWriteScope = "https://www.googleapis.com/auth/fitness.reproductive_health.write" | |
| // See your sleep data in Google Fit. I consent to Google sharing my sleep | |
| // information with this app. | |
| FitnessSleepReadScope = "https://www.googleapis.com/auth/fitness.sleep.read" | |
| // Add to your sleep data in Google Fit. I consent to Google using my sleep | |
| // information with this app. | |
| FitnessSleepWriteScope = "https://www.googleapis.com/auth/fitness.sleep.write" | |
| ) | |
| // NewService creates a new Service. | |
| func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) { | |
| scopesOption := internaloption.WithDefaultScopes( | |
| "https://www.googleapis.com/auth/fitness.activity.read", | |
| "https://www.googleapis.com/auth/fitness.activity.write", | |
| "https://www.googleapis.com/auth/fitness.blood_glucose.read", | |
| "https://www.googleapis.com/auth/fitness.blood_glucose.write", | |
| "https://www.googleapis.com/auth/fitness.blood_pressure.read", | |
| "https://www.googleapis.com/auth/fitness.blood_pressure.write", | |
| "https://www.googleapis.com/auth/fitness.body.read", | |
| "https://www.googleapis.com/auth/fitness.body.write", | |
| "https://www.googleapis.com/auth/fitness.body_temperature.read", | |
| "https://www.googleapis.com/auth/fitness.body_temperature.write", | |
| "https://www.googleapis.com/auth/fitness.heart_rate.read", | |
| "https://www.googleapis.com/auth/fitness.heart_rate.write", | |
| "https://www.googleapis.com/auth/fitness.location.read", | |
| "https://www.googleapis.com/auth/fitness.location.write", | |
| "https://www.googleapis.com/auth/fitness.nutrition.read", | |
| "https://www.googleapis.com/auth/fitness.nutrition.write", | |
| "https://www.googleapis.com/auth/fitness.oxygen_saturation.read", | |
| "https://www.googleapis.com/auth/fitness.oxygen_saturation.write", | |
| "https://www.googleapis.com/auth/fitness.reproductive_health.read", | |
| "https://www.googleapis.com/auth/fitness.reproductive_health.write", | |
| "https://www.googleapis.com/auth/fitness.sleep.read", | |
| "https://www.googleapis.com/auth/fitness.sleep.write", | |
| ) | |
| // NOTE: prepend, so we don't override user-specified scopes. | |
| opts = append([]option.ClientOption{scopesOption}, opts...) | |
| opts = append(opts, internaloption.WithDefaultEndpoint(basePath)) | |
| opts = append(opts, internaloption.WithDefaultEndpointTemplate(basePathTemplate)) | |
| opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath)) | |
| opts = append(opts, internaloption.EnableNewAuthLibrary()) | |
| client, endpoint, err := htransport.NewClient(ctx, opts...) | |
| if err != nil { | |
| return nil, err | |
| } | |
| s := &Service{client: client, BasePath: basePath, logger: internaloption.GetLogger(opts)} | |
| s.Users = NewUsersService(s) | |
| 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") | |
| } | |
| return NewService(context.TODO(), option.WithHTTPClient(client)) | |
| } | |
| type Service struct { | |
| client *http.Client | |
| logger *slog.Logger | |
| BasePath string // API endpoint base URL | |
| UserAgent string // optional additional User-Agent fragment | |
| Users *UsersService | |
| } | |
| func (s *Service) userAgent() string { | |
| if s.UserAgent == "" { | |
| return googleapi.UserAgent | |
| } | |
| return googleapi.UserAgent + " " + s.UserAgent | |
| } | |
| func NewUsersService(s *Service) *UsersService { | |
| rs := &UsersService{s: s} | |
| rs.DataSources = NewUsersDataSourcesService(s) | |
| rs.Dataset = NewUsersDatasetService(s) | |
| rs.Sessions = NewUsersSessionsService(s) | |
| return rs | |
| } | |
| type UsersService struct { | |
| s *Service | |
| DataSources *UsersDataSourcesService | |
| Dataset *UsersDatasetService | |
| Sessions *UsersSessionsService | |
| } | |
| func NewUsersDataSourcesService(s *Service) *UsersDataSourcesService { | |
| rs := &UsersDataSourcesService{s: s} | |
| rs.DataPointChanges = NewUsersDataSourcesDataPointChangesService(s) | |
| rs.Datasets = NewUsersDataSourcesDatasetsService(s) | |
| return rs | |
| } | |
| type UsersDataSourcesService struct { | |
| s *Service | |
| DataPointChanges *UsersDataSourcesDataPointChangesService | |
| Datasets *UsersDataSourcesDatasetsService | |
| } | |
| func NewUsersDataSourcesDataPointChangesService(s *Service) *UsersDataSourcesDataPointChangesService { | |
| rs := &UsersDataSourcesDataPointChangesService{s: s} | |
| return rs | |
| } | |
| type UsersDataSourcesDataPointChangesService struct { | |
| s *Service | |
| } | |
| func NewUsersDataSourcesDatasetsService(s *Service) *UsersDataSourcesDatasetsService { | |
| rs := &UsersDataSourcesDatasetsService{s: s} | |
| return rs | |
| } | |
| type UsersDataSourcesDatasetsService struct { | |
| s *Service | |
| } | |
| func NewUsersDatasetService(s *Service) *UsersDatasetService { | |
| rs := &UsersDatasetService{s: s} | |
| return rs | |
| } | |
| type UsersDatasetService struct { | |
| s *Service | |
| } | |
| func NewUsersSessionsService(s *Service) *UsersSessionsService { | |
| rs := &UsersSessionsService{s: s} | |
| return rs | |
| } | |
| type UsersSessionsService struct { | |
| s *Service | |
| } | |
| type AggregateBucket struct { | |
| // Activity: Available for Bucket.Type.ACTIVITY_TYPE, | |
| // Bucket.Type.ACTIVITY_SEGMENT | |
| Activity int64 `json:"activity,omitempty"` | |
| // Dataset: There will be one dataset per AggregateBy in the request. | |
| Dataset []*Dataset `json:"dataset,omitempty"` | |
| // EndTimeMillis: The end time for the aggregated data, in milliseconds since | |
| // epoch, inclusive. | |
| EndTimeMillis int64 `json:"endTimeMillis,omitempty,string"` | |
| // Session: Available for Bucket.Type.SESSION | |
| Session *Session `json:"session,omitempty"` | |
| // StartTimeMillis: The start time for the aggregated data, in milliseconds | |
| // since epoch, inclusive. | |
| StartTimeMillis int64 `json:"startTimeMillis,omitempty,string"` | |
| // Type: The type of a bucket signifies how the data aggregation is performed | |
| // in the bucket. | |
| // | |
| // Possible values: | |
| // "unknown" | |
| // "time" - Denotes that bucketing by time is requested. When this is | |
| // specified, the timeBucketDurationMillis field is used to determine how many | |
| // buckets will be returned. | |
| // "session" - Denotes that bucketing by session is requested. When this is | |
| // specified, only data that occurs within sessions that begin and end within | |
| // the dataset time frame, is included in the results. | |
| // "activityType" - Denotes that bucketing by activity type is requested. | |
| // When this is specified, there will be one bucket for each unique activity | |
| // type that a user participated in, during the dataset time frame of interest. | |
| // "activitySegment" - Denotes that bucketing by individual activity segment | |
| // is requested. This will aggregate data by the time boundaries specified by | |
| // each activity segment occurring within the dataset time frame of interest. | |
| Type string `json:"type,omitempty"` | |
| // ForceSendFields is a list of field names (e.g. "Activity") to | |
| // unconditionally include in API requests. By default, fields with empty or | |
| // default values are omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more | |
| // details. | |
| ForceSendFields []string `json:"-"` | |
| // NullFields is a list of field names (e.g. "Activity") to include in API | |
| // requests with the JSON null value. By default, fields with empty values are | |
| // omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. | |
| NullFields []string `json:"-"` | |
| } | |
| func (s AggregateBucket) MarshalJSON() ([]byte, error) { | |
| type NoMethod AggregateBucket | |
| return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) | |
| } | |
| // AggregateBy: The specification of which data to aggregate. | |
| type AggregateBy struct { | |
| // DataSourceId: A data source ID to aggregate. Only data from the specified | |
| // data source ID will be included in the aggregation. If specified, this data | |
| // source must exist; the OAuth scopes in the supplied credentials must grant | |
| // read access to this data type. The dataset in the response will have the | |
| // same data source ID. Note: Data can be aggregated by either the dataTypeName | |
| // or the dataSourceId, not both. | |
| DataSourceId string `json:"dataSourceId,omitempty"` | |
| // DataTypeName: The data type to aggregate. All data sources providing this | |
| // data type will contribute data to the aggregation. The response will contain | |
| // a single dataset for this data type name. The dataset will have a data | |
| // source ID of derived::com.google.android.gms:aggregated. If the user has no | |
| // data for this data type, an empty data set will be returned. Note: Data can | |
| // be aggregated by either the dataTypeName or the dataSourceId, not both. | |
| DataTypeName string `json:"dataTypeName,omitempty"` | |
| // ForceSendFields is a list of field names (e.g. "DataSourceId") to | |
| // unconditionally include in API requests. By default, fields with empty or | |
| // default values are omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more | |
| // details. | |
| ForceSendFields []string `json:"-"` | |
| // NullFields is a list of field names (e.g. "DataSourceId") to include in API | |
| // requests with the JSON null value. By default, fields with empty values are | |
| // omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. | |
| NullFields []string `json:"-"` | |
| } | |
| func (s AggregateBy) MarshalJSON() ([]byte, error) { | |
| type NoMethod AggregateBy | |
| return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) | |
| } | |
| // AggregateRequest: Next id: 10 | |
| type AggregateRequest struct { | |
| // AggregateBy: The specification of data to be aggregated. At least one | |
| // aggregateBy spec must be provided. All data that is specified will be | |
| // aggregated using the same bucketing criteria. There will be one dataset in | |
| // the response for every aggregateBy spec. | |
| AggregateBy []*AggregateBy `json:"aggregateBy,omitempty"` | |
| // BucketByActivitySegment: Specifies that data be aggregated each activity | |
| // segment recorded for a user. Similar to bucketByActivitySegment, but | |
| // bucketing is done for each activity segment rather than all segments of the | |
| // same type. Mutually exclusive of other bucketing specifications. | |
| BucketByActivitySegment *BucketByActivity `json:"bucketByActivitySegment,omitempty"` | |
| // BucketByActivityType: Specifies that data be aggregated by the type of | |
| // activity being performed when the data was recorded. All data that was | |
| // recorded during a certain activity type (.for the given time range) will be | |
| // aggregated into the same bucket. Data that was recorded while the user was | |
| // not active will not be included in the response. Mutually exclusive of other | |
| // bucketing specifications. | |
| BucketByActivityType *BucketByActivity `json:"bucketByActivityType,omitempty"` | |
| // BucketBySession: Specifies that data be aggregated by user sessions. Data | |
| // that does not fall within the time range of a session will not be included | |
| // in the response. Mutually exclusive of other bucketing specifications. | |
| BucketBySession *BucketBySession `json:"bucketBySession,omitempty"` | |
| // BucketByTime: Specifies that data be aggregated by a single time interval. | |
| // Mutually exclusive of other bucketing specifications. | |
| BucketByTime *BucketByTime `json:"bucketByTime,omitempty"` | |
| // EndTimeMillis: The end of a window of time. Data that intersects with this | |
| // time window will be aggregated. The time is in milliseconds since epoch, | |
| // inclusive. The maximum allowed difference between start_time_millis // and | |
| // end_time_millis is 7776000000 (roughly 90 days). | |
| EndTimeMillis int64 `json:"endTimeMillis,omitempty,string"` | |
| // FilteredDataQualityStandard: DO NOT POPULATE THIS FIELD. It is ignored. | |
| // | |
| // Possible values: | |
| // "dataQualityUnknown" | |
| // "dataQualityBloodPressureEsh2002" | |
| // "dataQualityBloodPressureEsh2010" | |
| // "dataQualityBloodPressureAami" | |
| // "dataQualityBloodPressureBhsAA" | |
| // "dataQualityBloodPressureBhsAB" | |
| // "dataQualityBloodPressureBhsBA" | |
| // "dataQualityBloodPressureBhsBB" | |
| // "dataQualityBloodGlucoseIso151972003" | |
| // "dataQualityBloodGlucoseIso151972013" | |
| FilteredDataQualityStandard []string `json:"filteredDataQualityStandard,omitempty"` | |
| // StartTimeMillis: The start of a window of time. Data that intersects with | |
| // this time window will be aggregated. The time is in milliseconds since | |
| // epoch, inclusive. | |
| StartTimeMillis int64 `json:"startTimeMillis,omitempty,string"` | |
| // ForceSendFields is a list of field names (e.g. "AggregateBy") to | |
| // unconditionally include in API requests. By default, fields with empty or | |
| // default values are omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more | |
| // details. | |
| ForceSendFields []string `json:"-"` | |
| // NullFields is a list of field names (e.g. "AggregateBy") to include in API | |
| // requests with the JSON null value. By default, fields with empty values are | |
| // omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. | |
| NullFields []string `json:"-"` | |
| } | |
| func (s AggregateRequest) MarshalJSON() ([]byte, error) { | |
| type NoMethod AggregateRequest | |
| return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) | |
| } | |
| type AggregateResponse struct { | |
| // Bucket: A list of buckets containing the aggregated data. | |
| Bucket []*AggregateBucket `json:"bucket,omitempty"` | |
| // ServerResponse contains the HTTP response code and headers from the server. | |
| googleapi.ServerResponse `json:"-"` | |
| // ForceSendFields is a list of field names (e.g. "Bucket") to unconditionally | |
| // include in API requests. By default, fields with empty or default values are | |
| // omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more | |
| // details. | |
| ForceSendFields []string `json:"-"` | |
| // NullFields is a list of field names (e.g. "Bucket") to include in API | |
| // requests with the JSON null value. By default, fields with empty values are | |
| // omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. | |
| NullFields []string `json:"-"` | |
| } | |
| func (s AggregateResponse) MarshalJSON() ([]byte, error) { | |
| type NoMethod AggregateResponse | |
| return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) | |
| } | |
| type Application struct { | |
| // DetailsUrl: An optional URI that can be used to link back to the | |
| // application. | |
| DetailsUrl string `json:"detailsUrl,omitempty"` | |
| // Name: The name of this application. This is required for REST clients, but | |
| // we do not enforce uniqueness of this name. It is provided as a matter of | |
| // convenience for other developers who would like to identify which REST | |
| // created an Application or Data Source. | |
| Name string `json:"name,omitempty"` | |
| // PackageName: Package name for this application. This is used as a unique | |
| // identifier when created by Android applications, but cannot be specified by | |
| // REST clients. REST clients will have their developer project number | |
| // reflected into the Data Source data stream IDs, instead of the packageName. | |
| PackageName string `json:"packageName,omitempty"` | |
| // Version: Version of the application. You should update this field whenever | |
| // the application changes in a way that affects the computation of the data. | |
| Version string `json:"version,omitempty"` | |
| // ForceSendFields is a list of field names (e.g. "DetailsUrl") to | |
| // unconditionally include in API requests. By default, fields with empty or | |
| // default values are omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more | |
| // details. | |
| ForceSendFields []string `json:"-"` | |
| // NullFields is a list of field names (e.g. "DetailsUrl") to include in API | |
| // requests with the JSON null value. By default, fields with empty values are | |
| // omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. | |
| NullFields []string `json:"-"` | |
| } | |
| func (s Application) MarshalJSON() ([]byte, error) { | |
| type NoMethod Application | |
| return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) | |
| } | |
| type BucketByActivity struct { | |
| // ActivityDataSourceId: The default activity stream will be used if a specific | |
| // activityDataSourceId is not specified. | |
| ActivityDataSourceId string `json:"activityDataSourceId,omitempty"` | |
| // MinDurationMillis: Specifies that only activity segments of duration longer | |
| // than minDurationMillis are considered and used as a container for aggregated | |
| // data. | |
| MinDurationMillis int64 `json:"minDurationMillis,omitempty,string"` | |
| // ForceSendFields is a list of field names (e.g. "ActivityDataSourceId") to | |
| // unconditionally include in API requests. By default, fields with empty or | |
| // default values are omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more | |
| // details. | |
| ForceSendFields []string `json:"-"` | |
| // NullFields is a list of field names (e.g. "ActivityDataSourceId") to include | |
| // in API requests with the JSON null value. By default, fields with empty | |
| // values are omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. | |
| NullFields []string `json:"-"` | |
| } | |
| func (s BucketByActivity) MarshalJSON() ([]byte, error) { | |
| type NoMethod BucketByActivity | |
| return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) | |
| } | |
| type BucketBySession struct { | |
| // MinDurationMillis: Specifies that only sessions of duration longer than | |
| // minDurationMillis are considered and used as a container for aggregated | |
| // data. | |
| MinDurationMillis int64 `json:"minDurationMillis,omitempty,string"` | |
| // ForceSendFields is a list of field names (e.g. "MinDurationMillis") to | |
| // unconditionally include in API requests. By default, fields with empty or | |
| // default values are omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more | |
| // details. | |
| ForceSendFields []string `json:"-"` | |
| // NullFields is a list of field names (e.g. "MinDurationMillis") to include in | |
| // API requests with the JSON null value. By default, fields with empty values | |
| // are omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. | |
| NullFields []string `json:"-"` | |
| } | |
| func (s BucketBySession) MarshalJSON() ([]byte, error) { | |
| type NoMethod BucketBySession | |
| return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) | |
| } | |
| type BucketByTime struct { | |
| // DurationMillis: Specifies that result buckets aggregate data by exactly | |
| // durationMillis time frames. Time frames that contain no data will be | |
| // included in the response with an empty dataset. | |
| DurationMillis int64 `json:"durationMillis,omitempty,string"` | |
| Period *BucketByTimePeriod `json:"period,omitempty"` | |
| // ForceSendFields is a list of field names (e.g. "DurationMillis") to | |
| // unconditionally include in API requests. By default, fields with empty or | |
| // default values are omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more | |
| // details. | |
| ForceSendFields []string `json:"-"` | |
| // NullFields is a list of field names (e.g. "DurationMillis") to include in | |
| // API requests with the JSON null value. By default, fields with empty values | |
| // are omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. | |
| NullFields []string `json:"-"` | |
| } | |
| func (s BucketByTime) MarshalJSON() ([]byte, error) { | |
| type NoMethod BucketByTime | |
| return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) | |
| } | |
| type BucketByTimePeriod struct { | |
| // TimeZoneId: org.joda.timezone.DateTimeZone | |
| TimeZoneId string `json:"timeZoneId,omitempty"` | |
| // Possible values: | |
| // "day" | |
| // "week" | |
| // "month" | |
| Type string `json:"type,omitempty"` | |
| Value int64 `json:"value,omitempty"` | |
| // ForceSendFields is a list of field names (e.g. "TimeZoneId") to | |
| // unconditionally include in API requests. By default, fields with empty or | |
| // default values are omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more | |
| // details. | |
| ForceSendFields []string `json:"-"` | |
| // NullFields is a list of field names (e.g. "TimeZoneId") to include in API | |
| // requests with the JSON null value. By default, fields with empty values are | |
| // omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. | |
| NullFields []string `json:"-"` | |
| } | |
| func (s BucketByTimePeriod) MarshalJSON() ([]byte, error) { | |
| type NoMethod BucketByTimePeriod | |
| return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) | |
| } | |
| // DataPoint: Represents a single data point, generated by a particular data | |
| // source. A data point holds a value for each field, an end timestamp and an | |
| // optional start time. The exact semantics of each of these attributes are | |
| // specified in the documentation for the particular data type. A data point | |
| // can represent an instantaneous measurement, reading or input observation, as | |
| // well as averages or aggregates over a time interval. Check the data type | |
| // documentation to determine which is the case for a particular data type. | |
| // Data points always contain one value for each field of the data type. | |
| type DataPoint struct { | |
| // ComputationTimeMillis: DO NOT USE THIS FIELD. It is ignored, and not stored. | |
| ComputationTimeMillis int64 `json:"computationTimeMillis,omitempty,string"` | |
| // DataTypeName: The data type defining the format of the values in this data | |
| // point. | |
| DataTypeName string `json:"dataTypeName,omitempty"` | |
| // EndTimeNanos: The end time of the interval represented by this data point, | |
| // in nanoseconds since epoch. | |
| EndTimeNanos int64 `json:"endTimeNanos,omitempty,string"` | |
| // ModifiedTimeMillis: Indicates the last time this data point was modified. | |
| // Useful only in contexts where we are listing the data changes, rather than | |
| // representing the current state of the data. | |
| ModifiedTimeMillis int64 `json:"modifiedTimeMillis,omitempty,string"` | |
| // OriginDataSourceId: If the data point is contained in a dataset for a | |
| // derived data source, this field will be populated with the data source | |
| // stream ID that created the data point originally. WARNING: do not rely on | |
| // this field for anything other than debugging. The value of this field, if it | |
| // is set at all, is an implementation detail and is not guaranteed to remain | |
| // consistent. | |
| OriginDataSourceId string `json:"originDataSourceId,omitempty"` | |
| // RawTimestampNanos: The raw timestamp from the original SensorEvent. | |
| RawTimestampNanos int64 `json:"rawTimestampNanos,omitempty,string"` | |
| // StartTimeNanos: The start time of the interval represented by this data | |
| // point, in nanoseconds since epoch. | |
| StartTimeNanos int64 `json:"startTimeNanos,omitempty,string"` | |
| // Value: Values of each data type field for the data point. It is expected | |
| // that each value corresponding to a data type field will occur in the same | |
| // order that the field is listed with in the data type specified in a data | |
| // source. Only one of integer and floating point fields will be populated, | |
| // depending on the format enum value within data source's type field. | |
| Value []*Value `json:"value,omitempty"` | |
| // ForceSendFields is a list of field names (e.g. "ComputationTimeMillis") to | |
| // unconditionally include in API requests. By default, fields with empty or | |
| // default values are omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more | |
| // details. | |
| ForceSendFields []string `json:"-"` | |
| // NullFields is a list of field names (e.g. "ComputationTimeMillis") to | |
| // include in API requests with the JSON null value. By default, fields with | |
| // empty values are omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. | |
| NullFields []string `json:"-"` | |
| } | |
| func (s DataPoint) MarshalJSON() ([]byte, error) { | |
| type NoMethod DataPoint | |
| return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) | |
| } | |
| // DataSource: Definition of a unique source of sensor data. Data sources can | |
| // expose raw data coming from hardware sensors on local or companion devices. | |
| // They can also expose derived data, created by transforming or merging other | |
| // data sources. Multiple data sources can exist for the same data type. Every | |
| // data point inserted into or read from this service has an associated data | |
| // source. The data source contains enough information to uniquely identify its | |
| // data, including the hardware device and the application that collected | |
| // and/or transformed the data. It also holds useful metadata, such as the | |
| // hardware and application versions, and the device type. Each data source | |
| // produces a unique stream of data, with a unique identifier. Not all changes | |
| // to data source affect the stream identifier, so that data collected by | |
| // updated versions of the same application/device can still be considered to | |
| // belong to the same data stream. | |
| type DataSource struct { | |
| // Application: Information about an application which feeds sensor data into | |
| // the platform. | |
| Application *Application `json:"application,omitempty"` | |
| // DataQualityStandard: DO NOT POPULATE THIS FIELD. It is never populated in | |
| // responses from the platform, and is ignored in queries. It will be removed | |
| // in a future version entirely. | |
| // | |
| // Possible values: | |
| // "dataQualityUnknown" | |
| // "dataQualityBloodPressureEsh2002" | |
| // "dataQualityBloodPressureEsh2010" | |
| // "dataQualityBloodPressureAami" | |
| // "dataQualityBloodPressureBhsAA" | |
| // "dataQualityBloodPressureBhsAB" | |
| // "dataQualityBloodPressureBhsBA" | |
| // "dataQualityBloodPressureBhsBB" | |
| // "dataQualityBloodGlucoseIso151972003" | |
| // "dataQualityBloodGlucoseIso151972013" | |
| DataQualityStandard []string `json:"dataQualityStandard,omitempty"` | |
| // DataStreamId: A unique identifier for the data stream produced by this data | |
| // source. The identifier includes: - The physical device's manufacturer, | |
| // model, and serial number (UID). - The application's package name or name. | |
| // Package name is used when the data source was created by an Android | |
| // application. The developer project number is used when the data source was | |
| // created by a REST client. - The data source's type. - The data source's | |
| // stream name. Note that not all attributes of the data source are used as | |
| // part of the stream identifier. In particular, the version of the | |
| // hardware/the application isn't used. This allows us to preserve the same | |
| // stream through version updates. This also means that two DataSource objects | |
| // may represent the same data stream even if they're not equal. The exact | |
| // format of the data stream ID created by an Android application is: | |
| // type:dataType.name:application.packageName:device.manufacturer:device.model:d | |
| // evice.uid:dataStreamName The exact format of the data stream ID created by a | |
| // REST client is: type:dataType.name:developer project | |
| // number:device.manufacturer:device.model:device.uid:dataStreamName When any | |
| // of the optional fields that make up the data stream ID are absent, they will | |
| // be omitted from the data stream ID. The minimum viable data stream ID would | |
| // be: type:dataType.name:developer project number Finally, the developer | |
| // project number and device UID are obfuscated when read by any REST or | |
| // Android client that did not create the data source. Only the data source | |
| // creator will see the developer project number in clear and normal form. This | |
| // means a client will see a different set of data_stream_ids than another | |
| // client with different credentials. | |
| DataStreamId string `json:"dataStreamId,omitempty"` | |
| // DataStreamName: The stream name uniquely identifies this particular data | |
| // source among other data sources of the same type from the same underlying | |
| // producer. Setting the stream name is optional, but should be done whenever | |
| // an application exposes two streams for the same data type, or when a device | |
| // has two equivalent sensors. | |
| DataStreamName string `json:"dataStreamName,omitempty"` | |
| // DataType: The data type defines the schema for a stream of data being | |
| // collected by, inserted into, or queried from the Fitness API. | |
| DataType *DataType `json:"dataType,omitempty"` | |
| // Device: Representation of an integrated device (such as a phone or a | |
| // wearable) that can hold sensors. | |
| Device *Device `json:"device,omitempty"` | |
| // Name: An end-user visible name for this data source. | |
| Name string `json:"name,omitempty"` | |
| // Type: A constant describing the type of this data source. Indicates whether | |
| // this data source produces raw or derived data. | |
| // | |
| // Possible values: | |
| // "raw" | |
| // "derived" | |
| 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. "Application") to | |
| // unconditionally include in API requests. By default, fields with empty or | |
| // default values are omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more | |
| // details. | |
| ForceSendFields []string `json:"-"` | |
| // NullFields is a list of field names (e.g. "Application") to include in API | |
| // requests with the JSON null value. By default, fields with empty values are | |
| // omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. | |
| NullFields []string `json:"-"` | |
| } | |
| func (s DataSource) MarshalJSON() ([]byte, error) { | |
| type NoMethod DataSource | |
| return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) | |
| } | |
| type DataType struct { | |
| // Field: A field represents one dimension of a data type. | |
| Field []*DataTypeField `json:"field,omitempty"` | |
| // Name: Each data type has a unique, namespaced, name. All data types in the | |
| // com.google namespace are shared as part of the platform. | |
| Name string `json:"name,omitempty"` | |
| // ForceSendFields is a list of field names (e.g. "Field") to unconditionally | |
| // include in API requests. By default, fields with empty or default values are | |
| // omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more | |
| // details. | |
| ForceSendFields []string `json:"-"` | |
| // NullFields is a list of field names (e.g. "Field") to include in API | |
| // requests with the JSON null value. By default, fields with empty values are | |
| // omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. | |
| NullFields []string `json:"-"` | |
| } | |
| func (s DataType) MarshalJSON() ([]byte, error) { | |
| type NoMethod DataType | |
| return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) | |
| } | |
| // DataTypeField: In case of multi-dimensional data (such as an accelerometer | |
| // with x, y, and z axes) each field represents one dimension. Each data type | |
| // field has a unique name which identifies it. The field also defines the | |
| // format of the data (int, float, etc.). This message is only instantiated in | |
| // code and not used for wire comms or stored in any way. | |
| type DataTypeField struct { | |
| // Format: The different supported formats for each field in a data type. | |
| // | |
| // Possible values: | |
| // "integer" | |
| // "floatPoint" | |
| // "string" | |
| // "map" | |
| // "integerList" | |
| // "floatList" | |
| // "blob" | |
| Format string `json:"format,omitempty"` | |
| // Name: Defines the name and format of data. Unlike data type names, field | |
| // names are not namespaced, and only need to be unique within the data type. | |
| Name string `json:"name,omitempty"` | |
| Optional bool `json:"optional,omitempty"` | |
| // ForceSendFields is a list of field names (e.g. "Format") to unconditionally | |
| // include in API requests. By default, fields with empty or default values are | |
| // omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more | |
| // details. | |
| ForceSendFields []string `json:"-"` | |
| // NullFields is a list of field names (e.g. "Format") to include in API | |
| // requests with the JSON null value. By default, fields with empty values are | |
| // omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. | |
| NullFields []string `json:"-"` | |
| } | |
| func (s DataTypeField) MarshalJSON() ([]byte, error) { | |
| type NoMethod DataTypeField | |
| return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) | |
| } | |
| // Dataset: A dataset represents a projection container for data points. They | |
| // do not carry any info of their own. Datasets represent a set of data points | |
| // from a particular data source. A data point can be found in more than one | |
| // dataset. | |
| type Dataset struct { | |
| // DataSourceId: The data stream ID of the data source that created the points | |
| // in this dataset. | |
| DataSourceId string `json:"dataSourceId,omitempty"` | |
| // MaxEndTimeNs: The largest end time of all data points in this possibly | |
| // partial representation of the dataset. Time is in nanoseconds from epoch. | |
| // This should also match the second part of the dataset identifier. | |
| MaxEndTimeNs int64 `json:"maxEndTimeNs,omitempty,string"` | |
| // MinStartTimeNs: The smallest start time of all data points in this possibly | |
| // partial representation of the dataset. Time is in nanoseconds from epoch. | |
| // This should also match the first part of the dataset identifier. | |
| MinStartTimeNs int64 `json:"minStartTimeNs,omitempty,string"` | |
| // NextPageToken: This token will be set when a dataset is received in response | |
| // to a GET request and the dataset is too large to be included in a single | |
| // response. Provide this value in a subsequent GET request to return the next | |
| // page of data points within this dataset. | |
| NextPageToken string `json:"nextPageToken,omitempty"` | |
| // Point: A partial list of data points contained in the dataset, ordered by | |
| // endTimeNanos. This list is considered complete when retrieving a small | |
| // dataset and partial when patching a dataset or retrieving a dataset that is | |
| // too large to include in a single response. | |
| Point []*DataPoint `json:"point,omitempty"` | |
| // ServerResponse contains the HTTP response code and headers from the server. | |
| googleapi.ServerResponse `json:"-"` | |
| // ForceSendFields is a list of field names (e.g. "DataSourceId") to | |
| // unconditionally include in API requests. By default, fields with empty or | |
| // default values are omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more | |
| // details. | |
| ForceSendFields []string `json:"-"` | |
| // NullFields is a list of field names (e.g. "DataSourceId") to include in API | |
| // requests with the JSON null value. By default, fields with empty values are | |
| // omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. | |
| NullFields []string `json:"-"` | |
| } | |
| func (s Dataset) MarshalJSON() ([]byte, error) { | |
| type NoMethod Dataset | |
| return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) | |
| } | |
| // Device: Representation of an integrated device (such as a phone or a | |
| // wearable) that can hold sensors. Each sensor is exposed as a data source. | |
| // The main purpose of the device information contained in this class is to | |
| // identify the hardware of a particular data source. This can be useful in | |
| // different ways, including: - Distinguishing two similar sensors on different | |
| // devices (the step counter on two nexus 5 phones, for instance) - Display the | |
| // source of data to the user (by using the device make / model) - Treat data | |
| // differently depending on sensor type (accelerometers on a watch may give | |
| // different patterns than those on a phone) - Build different analysis models | |
| // for each device/version. | |
| type Device struct { | |
| // Manufacturer: Manufacturer of the product/hardware. | |
| Manufacturer string `json:"manufacturer,omitempty"` | |
| // Model: End-user visible model name for the device. | |
| Model string `json:"model,omitempty"` | |
| // Type: A constant representing the type of the device. | |
| // | |
| // Possible values: | |
| // "unknown" - Device type is not known. | |
| // "phone" - An Android phone. | |
| // "tablet" - An Android tablet. | |
| // "watch" - A watch or other wrist-mounted band. | |
| // "chestStrap" - A chest strap. | |
| // "scale" - A scale. | |
| // "headMounted" - Glass or other head-mounted device. | |
| // "smartDisplay" - A smart display e.g. Nest device. | |
| Type string `json:"type,omitempty"` | |
| // Uid: The serial number or other unique ID for the hardware. This field is | |
| // obfuscated when read by any REST or Android client that did not create the | |
| // data source. Only the data source creator will see the uid field in clear | |
| // and normal form. The obfuscation preserves equality; that is, given two IDs, | |
| // if id1 == id2, obfuscated(id1) == obfuscated(id2). | |
| Uid string `json:"uid,omitempty"` | |
| // Version: Version string for the device hardware/software. | |
| Version string `json:"version,omitempty"` | |
| // ForceSendFields is a list of field names (e.g. "Manufacturer") to | |
| // unconditionally include in API requests. By default, fields with empty or | |
| // default values are omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more | |
| // details. | |
| ForceSendFields []string `json:"-"` | |
| // NullFields is a list of field names (e.g. "Manufacturer") to include in API | |
| // requests with the JSON null value. By default, fields with empty values are | |
| // omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. | |
| NullFields []string `json:"-"` | |
| } | |
| func (s Device) MarshalJSON() ([]byte, error) { | |
| type NoMethod Device | |
| return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) | |
| } | |
| type ListDataPointChangesResponse struct { | |
| // DataSourceId: The data stream ID of the data source with data point changes. | |
| DataSourceId string `json:"dataSourceId,omitempty"` | |
| // DeletedDataPoint: Deleted data points for the user. Note, for modifications | |
| // this should be parsed before handling insertions. | |
| DeletedDataPoint []*DataPoint `json:"deletedDataPoint,omitempty"` | |
| // InsertedDataPoint: Inserted data points for the user. | |
| InsertedDataPoint []*DataPoint `json:"insertedDataPoint,omitempty"` | |
| // NextPageToken: The continuation token, which is used to page through large | |
| // result sets. Provide this value in a subsequent request to return 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. "DataSourceId") to | |
| // unconditionally include in API requests. By default, fields with empty or | |
| // default values are omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more | |
| // details. | |
| ForceSendFields []string `json:"-"` | |
| // NullFields is a list of field names (e.g. "DataSourceId") to include in API | |
| // requests with the JSON null value. By default, fields with empty values are | |
| // omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. | |
| NullFields []string `json:"-"` | |
| } | |
| func (s ListDataPointChangesResponse) MarshalJSON() ([]byte, error) { | |
| type NoMethod ListDataPointChangesResponse | |
| return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) | |
| } | |
| type ListDataSourcesResponse struct { | |
| // DataSource: A previously created data source. | |
| DataSource []*DataSource `json:"dataSource,omitempty"` | |
| // ServerResponse contains the HTTP response code and headers from the server. | |
| googleapi.ServerResponse `json:"-"` | |
| // ForceSendFields is a list of field names (e.g. "DataSource") to | |
| // unconditionally include in API requests. By default, fields with empty or | |
| // default values are omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more | |
| // details. | |
| ForceSendFields []string `json:"-"` | |
| // NullFields is a list of field names (e.g. "DataSource") to include in API | |
| // requests with the JSON null value. By default, fields with empty values are | |
| // omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. | |
| NullFields []string `json:"-"` | |
| } | |
| func (s ListDataSourcesResponse) MarshalJSON() ([]byte, error) { | |
| type NoMethod ListDataSourcesResponse | |
| return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) | |
| } | |
| type ListSessionsResponse struct { | |
| // DeletedSession: If includeDeleted is set to true in the request, and | |
| // startTime and endTime are omitted, this will include sessions which were | |
| // deleted since the last sync. | |
| DeletedSession []*Session `json:"deletedSession,omitempty"` | |
| // HasMoreData: Flag to indicate server has more data to transfer. DO NOT USE | |
| // THIS FIELD. It is never populated in responses from the server. | |
| HasMoreData bool `json:"hasMoreData,omitempty"` | |
| // NextPageToken: The sync token which is used to sync further changes. This | |
| // will only be provided if both startTime and endTime are omitted from the | |
| // request. | |
| NextPageToken string `json:"nextPageToken,omitempty"` | |
| // Session: Sessions starting before endTime of the request and ending after | |
| // startTime of the request up to (endTime of the request + 1 day). | |
| Session []*Session `json:"session,omitempty"` | |
| // ServerResponse contains the HTTP response code and headers from the server. | |
| googleapi.ServerResponse `json:"-"` | |
| // ForceSendFields is a list of field names (e.g. "DeletedSession") to | |
| // unconditionally include in API requests. By default, fields with empty or | |
| // default values are omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more | |
| // details. | |
| ForceSendFields []string `json:"-"` | |
| // NullFields is a list of field names (e.g. "DeletedSession") to include in | |
| // API requests with the JSON null value. By default, fields with empty values | |
| // are omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. | |
| NullFields []string `json:"-"` | |
| } | |
| func (s ListSessionsResponse) MarshalJSON() ([]byte, error) { | |
| type NoMethod ListSessionsResponse | |
| return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) | |
| } | |
| // MapValue: Holder object for the value of an entry in a map field of a data | |
| // point. A map value supports a subset of the formats that the regular Value | |
| // supports. | |
| type MapValue struct { | |
| // FpVal: Floating point value. | |
| FpVal float64 `json:"fpVal,omitempty"` | |
| // ForceSendFields is a list of field names (e.g. "FpVal") to unconditionally | |
| // include in API requests. By default, fields with empty or default values are | |
| // omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more | |
| // details. | |
| ForceSendFields []string `json:"-"` | |
| // NullFields is a list of field names (e.g. "FpVal") to include in API | |
| // requests with the JSON null value. By default, fields with empty values are | |
| // omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. | |
| NullFields []string `json:"-"` | |
| } | |
| func (s MapValue) MarshalJSON() ([]byte, error) { | |
| type NoMethod MapValue | |
| return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) | |
| } | |
| func (s *MapValue) UnmarshalJSON(data []byte) error { | |
| type NoMethod MapValue | |
| var s1 struct { | |
| FpVal gensupport.JSONFloat64 `json:"fpVal"` | |
| *NoMethod | |
| } | |
| s1.NoMethod = (*NoMethod)(s) | |
| if err := json.Unmarshal(data, &s1); err != nil { | |
| return err | |
| } | |
| s.FpVal = float64(s1.FpVal) | |
| return nil | |
| } | |
| // Session: Sessions contain metadata, such as a user-friendly name and time | |
| // interval information. | |
| type Session struct { | |
| // ActiveTimeMillis: Session active time. While start_time_millis and | |
| // end_time_millis define the full session time, the active time can be shorter | |
| // and specified by active_time_millis. If the inactive time during the session | |
| // is known, it should also be inserted via a com.google.activity.segment data | |
| // point with a STILL activity value | |
| ActiveTimeMillis int64 `json:"activeTimeMillis,omitempty,string"` | |
| // ActivityType: The type of activity this session represents. | |
| ActivityType int64 `json:"activityType,omitempty"` | |
| // Application: The application that created the session. | |
| Application *Application `json:"application,omitempty"` | |
| // Description: A description for this session. | |
| Description string `json:"description,omitempty"` | |
| // EndTimeMillis: An end time, in milliseconds since epoch, inclusive. | |
| EndTimeMillis int64 `json:"endTimeMillis,omitempty,string"` | |
| // Id: A client-generated identifier that is unique across all sessions owned | |
| // by this particular user. | |
| Id string `json:"id,omitempty"` | |
| // ModifiedTimeMillis: A timestamp that indicates when the session was last | |
| // modified. | |
| ModifiedTimeMillis int64 `json:"modifiedTimeMillis,omitempty,string"` | |
| // Name: A human readable name of the session. | |
| Name string `json:"name,omitempty"` | |
| // StartTimeMillis: A start time, in milliseconds since epoch, inclusive. | |
| StartTimeMillis int64 `json:"startTimeMillis,omitempty,string"` | |
| // ServerResponse contains the HTTP response code and headers from the server. | |
| googleapi.ServerResponse `json:"-"` | |
| // ForceSendFields is a list of field names (e.g. "ActiveTimeMillis") to | |
| // unconditionally include in API requests. By default, fields with empty or | |
| // default values are omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more | |
| // details. | |
| ForceSendFields []string `json:"-"` | |
| // NullFields is a list of field names (e.g. "ActiveTimeMillis") to include in | |
| // API requests with the JSON null value. By default, fields with empty values | |
| // are omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. | |
| NullFields []string `json:"-"` | |
| } | |
| func (s Session) MarshalJSON() ([]byte, error) { | |
| type NoMethod Session | |
| return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) | |
| } | |
| // Value: Holder object for the value of a single field in a data point. A | |
| // field value has a particular format and is only ever set to one of an | |
| // integer or a floating point value. | |
| type Value struct { | |
| // FpVal: Floating point value. When this is set, other values must not be set. | |
| FpVal float64 `json:"fpVal,omitempty"` | |
| // IntVal: Integer value. When this is set, other values must not be set. | |
| IntVal int64 `json:"intVal,omitempty"` | |
| // MapVal: Map value. The valid key space and units for the corresponding value | |
| // of each entry should be documented as part of the data type definition. Keys | |
| // should be kept small whenever possible. Data streams with large keys and | |
| // high data frequency may be down sampled. | |
| MapVal []*ValueMapValEntry `json:"mapVal,omitempty"` | |
| // StringVal: String value. When this is set, other values must not be set. | |
| // Strings should be kept small whenever possible. Data streams with large | |
| // string values and high data frequency may be down sampled. | |
| StringVal string `json:"stringVal,omitempty"` | |
| // ForceSendFields is a list of field names (e.g. "FpVal") to unconditionally | |
| // include in API requests. By default, fields with empty or default values are | |
| // omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more | |
| // details. | |
| ForceSendFields []string `json:"-"` | |
| // NullFields is a list of field names (e.g. "FpVal") to include in API | |
| // requests with the JSON null value. By default, fields with empty values are | |
| // omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. | |
| NullFields []string `json:"-"` | |
| } | |
| func (s Value) MarshalJSON() ([]byte, error) { | |
| type NoMethod Value | |
| return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) | |
| } | |
| func (s *Value) UnmarshalJSON(data []byte) error { | |
| type NoMethod Value | |
| var s1 struct { | |
| FpVal gensupport.JSONFloat64 `json:"fpVal"` | |
| *NoMethod | |
| } | |
| s1.NoMethod = (*NoMethod)(s) | |
| if err := json.Unmarshal(data, &s1); err != nil { | |
| return err | |
| } | |
| s.FpVal = float64(s1.FpVal) | |
| return nil | |
| } | |
| type ValueMapValEntry struct { | |
| Key string `json:"key,omitempty"` | |
| Value *MapValue `json:"value,omitempty"` | |
| // ForceSendFields is a list of field names (e.g. "Key") to unconditionally | |
| // include in API requests. By default, fields with empty or default values are | |
| // omitted from API requests. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more | |
| // details. | |
| 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. See | |
| // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. | |
| NullFields []string `json:"-"` | |
| } | |
| func (s ValueMapValEntry) MarshalJSON() ([]byte, error) { | |
| type NoMethod ValueMapValEntry | |
| return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) | |
| } | |
| type UsersDataSourcesCreateCall struct { | |
| s *Service | |
| userId string | |
| datasource *DataSource | |
| urlParams_ gensupport.URLParams | |
| ctx_ context.Context | |
| header_ http.Header | |
| } | |
| // Create: Creates a new data source that is unique across all data sources | |
| // belonging to this user. A data source is a unique source of sensor data. | |
| // Data sources can expose raw data coming from hardware sensors on local or | |
| // companion devices. They can also expose derived data, created by | |
| // transforming or merging other data sources. Multiple data sources can exist | |
| // for the same data type. Every data point in every dataset inserted into or | |
| // read from the Fitness API has an associated data source. Each data source | |
| // produces a unique stream of dataset updates, with a unique data source | |
| // identifier. Not all changes to data source affect the data stream ID, so | |
| // that data collected by updated versions of the same application/device can | |
| // still be considered to belong to the same data source. Data sources are | |
| // identified using a string generated by the server, based on the contents of | |
| // the source being created. The dataStreamId field should not be set when | |
| // invoking this method. It will be automatically generated by the server with | |
| // the correct format. If a dataStreamId is set, it must match the format that | |
| // the server would generate. This format is a combination of some fields from | |
| // the data source, and has a specific order. If it doesn't match, the request | |
| // will fail with an error. Specifying a DataType which is not a known type | |
| // (beginning with "com.google.") will create a DataSource with a *custom data | |
| // type*. Custom data types are only readable by the application that created | |
| // them. Custom data types are *deprecated*; use standard data types instead. | |
| // In addition to the data source fields included in the data source ID, the | |
| // developer project number that is authenticated when creating the data source | |
| // is included. This developer project number is obfuscated when read by any | |
| // other developer reading public data types. | |
| // | |
| // - userId: Create the data source for the person identified. Use me to | |
| // indicate the authenticated user. Only me is supported at this time. | |
| func (r *UsersDataSourcesService) Create(userId string, datasource *DataSource) *UsersDataSourcesCreateCall { | |
| c := &UsersDataSourcesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} | |
| c.userId = userId | |
| c.datasource = datasource | |
| return c | |
| } | |
| // Fields allows partial responses to be retrieved. See | |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more | |
| // details. | |
| func (c *UsersDataSourcesCreateCall) Fields(s ...googleapi.Field) *UsersDataSourcesCreateCall { | |
| c.urlParams_.Set("fields", googleapi.CombineFields(s)) | |
| return c | |
| } | |
| // Context sets the context to be used in this call's Do method. | |
| func (c *UsersDataSourcesCreateCall) Context(ctx context.Context) *UsersDataSourcesCreateCall { | |
| c.ctx_ = ctx | |
| return c | |
| } | |
| // Header returns a http.Header that can be modified by the caller to add | |
| // headers to the request. | |
| func (c *UsersDataSourcesCreateCall) Header() http.Header { | |
| if c.header_ == nil { | |
| c.header_ = make(http.Header) | |
| } | |
| return c.header_ | |
| } | |
| func (c *UsersDataSourcesCreateCall) doRequest(alt string) (*http.Response, error) { | |
| reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) | |
| body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.datasource) | |
| if err != nil { | |
| return nil, err | |
| } | |
| c.urlParams_.Set("alt", alt) | |
| c.urlParams_.Set("prettyPrint", "false") | |
| urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/dataSources") | |
| 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{ | |
| "userId": c.userId, | |
| }) | |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "fitness.users.dataSources.create", "request", internallog.HTTPRequest(req, body.Bytes())) | |
| return gensupport.SendRequest(c.ctx_, c.s.client, req) | |
| } | |
| // Do executes the "fitness.users.dataSources.create" call. | |
| // Any non-2xx status code is an error. Response headers are in either | |
| // *DataSource.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 *UsersDataSourcesCreateCall) Do(opts ...googleapi.CallOption) (*DataSource, 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, gensupport.WrapError(&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, gensupport.WrapError(err) | |
| } | |
| ret := &DataSource{ | |
| ServerResponse: googleapi.ServerResponse{ | |
| Header: res.Header, | |
| HTTPStatusCode: res.StatusCode, | |
| }, | |
| } | |
| target := &ret | |
| b, err := gensupport.DecodeResponseBytes(target, res) | |
| if err != nil { | |
| return nil, err | |
| } | |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "fitness.users.dataSources.create", "response", internallog.HTTPResponse(res, b)) | |
| return ret, nil | |
| } | |
| type UsersDataSourcesDeleteCall struct { | |
| s *Service | |
| userId string | |
| dataSourceId string | |
| urlParams_ gensupport.URLParams | |
| ctx_ context.Context | |
| header_ http.Header | |
| } | |
| // Delete: Deletes the specified data source. The request will fail if the data | |
| // source contains any data points. | |
| // | |
| // - dataSourceId: The data stream ID of the data source to delete. | |
| // - userId: Retrieve a data source for the person identified. Use me to | |
| // indicate the authenticated user. Only me is supported at this time. | |
| func (r *UsersDataSourcesService) Delete(userId string, dataSourceId string) *UsersDataSourcesDeleteCall { | |
| c := &UsersDataSourcesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} | |
| c.userId = userId | |
| c.dataSourceId = dataSourceId | |
| return c | |
| } | |
| // Fields allows partial responses to be retrieved. See | |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more | |
| // details. | |
| func (c *UsersDataSourcesDeleteCall) Fields(s ...googleapi.Field) *UsersDataSourcesDeleteCall { | |
| c.urlParams_.Set("fields", googleapi.CombineFields(s)) | |
| return c | |
| } | |
| // Context sets the context to be used in this call's Do method. | |
| func (c *UsersDataSourcesDeleteCall) Context(ctx context.Context) *UsersDataSourcesDeleteCall { | |
| c.ctx_ = ctx | |
| return c | |
| } | |
| // Header returns a http.Header that can be modified by the caller to add | |
| // headers to the request. | |
| func (c *UsersDataSourcesDeleteCall) Header() http.Header { | |
| if c.header_ == nil { | |
| c.header_ = make(http.Header) | |
| } | |
| return c.header_ | |
| } | |
| func (c *UsersDataSourcesDeleteCall) doRequest(alt string) (*http.Response, error) { | |
| reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) | |
| c.urlParams_.Set("alt", alt) | |
| c.urlParams_.Set("prettyPrint", "false") | |
| urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/dataSources/{dataSourceId}") | |
| urls += "?" + c.urlParams_.Encode() | |
| req, err := http.NewRequest("DELETE", urls, nil) | |
| if err != nil { | |
| return nil, err | |
| } | |
| req.Header = reqHeaders | |
| googleapi.Expand(req.URL, map[string]string{ | |
| "userId": c.userId, | |
| "dataSourceId": c.dataSourceId, | |
| }) | |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "fitness.users.dataSources.delete", "request", internallog.HTTPRequest(req, nil)) | |
| return gensupport.SendRequest(c.ctx_, c.s.client, req) | |
| } | |
| // Do executes the "fitness.users.dataSources.delete" call. | |
| // Any non-2xx status code is an error. Response headers are in either | |
| // *DataSource.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 *UsersDataSourcesDeleteCall) Do(opts ...googleapi.CallOption) (*DataSource, 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, gensupport.WrapError(&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, gensupport.WrapError(err) | |
| } | |
| ret := &DataSource{ | |
| ServerResponse: googleapi.ServerResponse{ | |
| Header: res.Header, | |
| HTTPStatusCode: res.StatusCode, | |
| }, | |
| } | |
| target := &ret | |
| b, err := gensupport.DecodeResponseBytes(target, res) | |
| if err != nil { | |
| return nil, err | |
| } | |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "fitness.users.dataSources.delete", "response", internallog.HTTPResponse(res, b)) | |
| return ret, nil | |
| } | |
| type UsersDataSourcesGetCall struct { | |
| s *Service | |
| userId string | |
| dataSourceId string | |
| urlParams_ gensupport.URLParams | |
| ifNoneMatch_ string | |
| ctx_ context.Context | |
| header_ http.Header | |
| } | |
| // Get: Returns the specified data source. | |
| // | |
| // - dataSourceId: The data stream ID of the data source to retrieve. | |
| // - userId: Retrieve a data source for the person identified. Use me to | |
| // indicate the authenticated user. Only me is supported at this time. | |
| func (r *UsersDataSourcesService) Get(userId string, dataSourceId string) *UsersDataSourcesGetCall { | |
| c := &UsersDataSourcesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} | |
| c.userId = userId | |
| c.dataSourceId = dataSourceId | |
| return c | |
| } | |
| // Fields allows partial responses to be retrieved. See | |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more | |
| // details. | |
| func (c *UsersDataSourcesGetCall) Fields(s ...googleapi.Field) *UsersDataSourcesGetCall { | |
| c.urlParams_.Set("fields", googleapi.CombineFields(s)) | |
| return c | |
| } | |
| // IfNoneMatch sets an 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. | |
| func (c *UsersDataSourcesGetCall) IfNoneMatch(entityTag string) *UsersDataSourcesGetCall { | |
| c.ifNoneMatch_ = entityTag | |
| return c | |
| } | |
| // Context sets the context to be used in this call's Do method. | |
| func (c *UsersDataSourcesGetCall) Context(ctx context.Context) *UsersDataSourcesGetCall { | |
| c.ctx_ = ctx | |
| return c | |
| } | |
| // Header returns a http.Header that can be modified by the caller to add | |
| // headers to the request. | |
| func (c *UsersDataSourcesGetCall) Header() http.Header { | |
| if c.header_ == nil { | |
| c.header_ = make(http.Header) | |
| } | |
| return c.header_ | |
| } | |
| func (c *UsersDataSourcesGetCall) doRequest(alt string) (*http.Response, error) { | |
| reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) | |
| if c.ifNoneMatch_ != "" { | |
| reqHeaders.Set("If-None-Match", c.ifNoneMatch_) | |
| } | |
| c.urlParams_.Set("alt", alt) | |
| c.urlParams_.Set("prettyPrint", "false") | |
| urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/dataSources/{dataSourceId}") | |
| urls += "?" + c.urlParams_.Encode() | |
| req, err := http.NewRequest("GET", urls, nil) | |
| if err != nil { | |
| return nil, err | |
| } | |
| req.Header = reqHeaders | |
| googleapi.Expand(req.URL, map[string]string{ | |
| "userId": c.userId, | |
| "dataSourceId": c.dataSourceId, | |
| }) | |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "fitness.users.dataSources.get", "request", internallog.HTTPRequest(req, nil)) | |
| return gensupport.SendRequest(c.ctx_, c.s.client, req) | |
| } | |
| // Do executes the "fitness.users.dataSources.get" call. | |
| // Any non-2xx status code is an error. Response headers are in either | |
| // *DataSource.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 *UsersDataSourcesGetCall) Do(opts ...googleapi.CallOption) (*DataSource, 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, gensupport.WrapError(&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, gensupport.WrapError(err) | |
| } | |
| ret := &DataSource{ | |
| ServerResponse: googleapi.ServerResponse{ | |
| Header: res.Header, | |
| HTTPStatusCode: res.StatusCode, | |
| }, | |
| } | |
| target := &ret | |
| b, err := gensupport.DecodeResponseBytes(target, res) | |
| if err != nil { | |
| return nil, err | |
| } | |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "fitness.users.dataSources.get", "response", internallog.HTTPResponse(res, b)) | |
| return ret, nil | |
| } | |
| type UsersDataSourcesListCall struct { | |
| s *Service | |
| userId string | |
| urlParams_ gensupport.URLParams | |
| ifNoneMatch_ string | |
| ctx_ context.Context | |
| header_ http.Header | |
| } | |
| // List: Lists all data sources that are visible to the developer, using the | |
| // OAuth scopes provided. The list is not exhaustive; the user may have private | |
| // data sources that are only visible to other developers, or calls using other | |
| // scopes. | |
| // | |
| // - userId: List data sources for the person identified. Use me to indicate | |
| // the authenticated user. Only me is supported at this time. | |
| func (r *UsersDataSourcesService) List(userId string) *UsersDataSourcesListCall { | |
| c := &UsersDataSourcesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} | |
| c.userId = userId | |
| return c | |
| } | |
| // DataTypeName sets the optional parameter "dataTypeName": The names of data | |
| // types to include in the list. If not specified, all data sources will be | |
| // returned. | |
| func (c *UsersDataSourcesListCall) DataTypeName(dataTypeName ...string) *UsersDataSourcesListCall { | |
| c.urlParams_.SetMulti("dataTypeName", append([]string{}, dataTypeName...)) | |
| return c | |
| } | |
| // Fields allows partial responses to be retrieved. See | |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more | |
| // details. | |
| func (c *UsersDataSourcesListCall) Fields(s ...googleapi.Field) *UsersDataSourcesListCall { | |
| c.urlParams_.Set("fields", googleapi.CombineFields(s)) | |
| return c | |
| } | |
| // IfNoneMatch sets an 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. | |
| func (c *UsersDataSourcesListCall) IfNoneMatch(entityTag string) *UsersDataSourcesListCall { | |
| c.ifNoneMatch_ = entityTag | |
| return c | |
| } | |
| // Context sets the context to be used in this call's Do method. | |
| func (c *UsersDataSourcesListCall) Context(ctx context.Context) *UsersDataSourcesListCall { | |
| c.ctx_ = ctx | |
| return c | |
| } | |
| // Header returns a http.Header that can be modified by the caller to add | |
| // headers to the request. | |
| func (c *UsersDataSourcesListCall) Header() http.Header { | |
| if c.header_ == nil { | |
| c.header_ = make(http.Header) | |
| } | |
| return c.header_ | |
| } | |
| func (c *UsersDataSourcesListCall) doRequest(alt string) (*http.Response, error) { | |
| reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) | |
| if c.ifNoneMatch_ != "" { | |
| reqHeaders.Set("If-None-Match", c.ifNoneMatch_) | |
| } | |
| c.urlParams_.Set("alt", alt) | |
| c.urlParams_.Set("prettyPrint", "false") | |
| urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/dataSources") | |
| urls += "?" + c.urlParams_.Encode() | |
| req, err := http.NewRequest("GET", urls, nil) | |
| if err != nil { | |
| return nil, err | |
| } | |
| req.Header = reqHeaders | |
| googleapi.Expand(req.URL, map[string]string{ | |
| "userId": c.userId, | |
| }) | |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "fitness.users.dataSources.list", "request", internallog.HTTPRequest(req, nil)) | |
| return gensupport.SendRequest(c.ctx_, c.s.client, req) | |
| } | |
| // Do executes the "fitness.users.dataSources.list" call. | |
| // Any non-2xx status code is an error. Response headers are in either | |
| // *ListDataSourcesResponse.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 *UsersDataSourcesListCall) Do(opts ...googleapi.CallOption) (*ListDataSourcesResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err) | |
| } | |
| ret := &ListDataSourcesResponse{ | |
| ServerResponse: googleapi.ServerResponse{ | |
| Header: res.Header, | |
| HTTPStatusCode: res.StatusCode, | |
| }, | |
| } | |
| target := &ret | |
| b, err := gensupport.DecodeResponseBytes(target, res) | |
| if err != nil { | |
| return nil, err | |
| } | |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "fitness.users.dataSources.list", "response", internallog.HTTPResponse(res, b)) | |
| return ret, nil | |
| } | |
| type UsersDataSourcesUpdateCall struct { | |
| s *Service | |
| userId string | |
| dataSourceId string | |
| datasource *DataSource | |
| urlParams_ gensupport.URLParams | |
| ctx_ context.Context | |
| header_ http.Header | |
| } | |
| // Update: Updates the specified data source. The dataStreamId, dataType, type, | |
| // dataStreamName, and device properties with the exception of version, cannot | |
| // be modified. Data sources are identified by their dataStreamId. | |
| // | |
| // - dataSourceId: The data stream ID of the data source to update. | |
| // - userId: Update the data source for the person identified. Use me to | |
| // indicate the authenticated user. Only me is supported at this time. | |
| func (r *UsersDataSourcesService) Update(userId string, dataSourceId string, datasource *DataSource) *UsersDataSourcesUpdateCall { | |
| c := &UsersDataSourcesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} | |
| c.userId = userId | |
| c.dataSourceId = dataSourceId | |
| c.datasource = datasource | |
| return c | |
| } | |
| // Fields allows partial responses to be retrieved. See | |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more | |
| // details. | |
| func (c *UsersDataSourcesUpdateCall) Fields(s ...googleapi.Field) *UsersDataSourcesUpdateCall { | |
| c.urlParams_.Set("fields", googleapi.CombineFields(s)) | |
| return c | |
| } | |
| // Context sets the context to be used in this call's Do method. | |
| func (c *UsersDataSourcesUpdateCall) Context(ctx context.Context) *UsersDataSourcesUpdateCall { | |
| c.ctx_ = ctx | |
| return c | |
| } | |
| // Header returns a http.Header that can be modified by the caller to add | |
| // headers to the request. | |
| func (c *UsersDataSourcesUpdateCall) Header() http.Header { | |
| if c.header_ == nil { | |
| c.header_ = make(http.Header) | |
| } | |
| return c.header_ | |
| } | |
| func (c *UsersDataSourcesUpdateCall) doRequest(alt string) (*http.Response, error) { | |
| reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) | |
| body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.datasource) | |
| if err != nil { | |
| return nil, err | |
| } | |
| c.urlParams_.Set("alt", alt) | |
| c.urlParams_.Set("prettyPrint", "false") | |
| urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/dataSources/{dataSourceId}") | |
| 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{ | |
| "userId": c.userId, | |
| "dataSourceId": c.dataSourceId, | |
| }) | |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "fitness.users.dataSources.update", "request", internallog.HTTPRequest(req, body.Bytes())) | |
| return gensupport.SendRequest(c.ctx_, c.s.client, req) | |
| } | |
| // Do executes the "fitness.users.dataSources.update" call. | |
| // Any non-2xx status code is an error. Response headers are in either | |
| // *DataSource.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 *UsersDataSourcesUpdateCall) Do(opts ...googleapi.CallOption) (*DataSource, 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, gensupport.WrapError(&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, gensupport.WrapError(err) | |
| } | |
| ret := &DataSource{ | |
| ServerResponse: googleapi.ServerResponse{ | |
| Header: res.Header, | |
| HTTPStatusCode: res.StatusCode, | |
| }, | |
| } | |
| target := &ret | |
| b, err := gensupport.DecodeResponseBytes(target, res) | |
| if err != nil { | |
| return nil, err | |
| } | |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "fitness.users.dataSources.update", "response", internallog.HTTPResponse(res, b)) | |
| return ret, nil | |
| } | |
| type UsersDataSourcesDataPointChangesListCall struct { | |
| s *Service | |
| userId string | |
| dataSourceId string | |
| urlParams_ gensupport.URLParams | |
| ifNoneMatch_ string | |
| ctx_ context.Context | |
| header_ http.Header | |
| } | |
| // List: Queries for user's data point changes for a particular data source. | |
| // | |
| // - dataSourceId: The data stream ID of the data source that created the | |
| // dataset. | |
| // - userId: List data points for the person identified. Use me to indicate the | |
| // authenticated user. Only me is supported at this time. | |
| func (r *UsersDataSourcesDataPointChangesService) List(userId string, dataSourceId string) *UsersDataSourcesDataPointChangesListCall { | |
| c := &UsersDataSourcesDataPointChangesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} | |
| c.userId = userId | |
| c.dataSourceId = dataSourceId | |
| return c | |
| } | |
| // Limit sets the optional parameter "limit": If specified, no more than this | |
| // many data point changes will be included in the response. | |
| func (c *UsersDataSourcesDataPointChangesListCall) Limit(limit int64) *UsersDataSourcesDataPointChangesListCall { | |
| c.urlParams_.Set("limit", fmt.Sprint(limit)) | |
| return c | |
| } | |
| // PageToken sets the optional parameter "pageToken": The continuation token, | |
| // which is used to page through large result sets. To get the next page of | |
| // results, set this parameter to the value of nextPageToken from the previous | |
| // response. | |
| func (c *UsersDataSourcesDataPointChangesListCall) PageToken(pageToken string) *UsersDataSourcesDataPointChangesListCall { | |
| c.urlParams_.Set("pageToken", pageToken) | |
| return c | |
| } | |
| // Fields allows partial responses to be retrieved. See | |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more | |
| // details. | |
| func (c *UsersDataSourcesDataPointChangesListCall) Fields(s ...googleapi.Field) *UsersDataSourcesDataPointChangesListCall { | |
| c.urlParams_.Set("fields", googleapi.CombineFields(s)) | |
| return c | |
| } | |
| // IfNoneMatch sets an 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. | |
| func (c *UsersDataSourcesDataPointChangesListCall) IfNoneMatch(entityTag string) *UsersDataSourcesDataPointChangesListCall { | |
| c.ifNoneMatch_ = entityTag | |
| return c | |
| } | |
| // Context sets the context to be used in this call's Do method. | |
| func (c *UsersDataSourcesDataPointChangesListCall) Context(ctx context.Context) *UsersDataSourcesDataPointChangesListCall { | |
| c.ctx_ = ctx | |
| return c | |
| } | |
| // Header returns a http.Header that can be modified by the caller to add | |
| // headers to the request. | |
| func (c *UsersDataSourcesDataPointChangesListCall) Header() http.Header { | |
| if c.header_ == nil { | |
| c.header_ = make(http.Header) | |
| } | |
| return c.header_ | |
| } | |
| func (c *UsersDataSourcesDataPointChangesListCall) doRequest(alt string) (*http.Response, error) { | |
| reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) | |
| if c.ifNoneMatch_ != "" { | |
| reqHeaders.Set("If-None-Match", c.ifNoneMatch_) | |
| } | |
| c.urlParams_.Set("alt", alt) | |
| c.urlParams_.Set("prettyPrint", "false") | |
| urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/dataSources/{dataSourceId}/dataPointChanges") | |
| urls += "?" + c.urlParams_.Encode() | |
| req, err := http.NewRequest("GET", urls, nil) | |
| if err != nil { | |
| return nil, err | |
| } | |
| req.Header = reqHeaders | |
| googleapi.Expand(req.URL, map[string]string{ | |
| "userId": c.userId, | |
| "dataSourceId": c.dataSourceId, | |
| }) | |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "fitness.users.dataSources.dataPointChanges.list", "request", internallog.HTTPRequest(req, nil)) | |
| return gensupport.SendRequest(c.ctx_, c.s.client, req) | |
| } | |
| // Do executes the "fitness.users.dataSources.dataPointChanges.list" call. | |
| // Any non-2xx status code is an error. Response headers are in either | |
| // *ListDataPointChangesResponse.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 *UsersDataSourcesDataPointChangesListCall) Do(opts ...googleapi.CallOption) (*ListDataPointChangesResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err) | |
| } | |
| ret := &ListDataPointChangesResponse{ | |
| ServerResponse: googleapi.ServerResponse{ | |
| Header: res.Header, | |
| HTTPStatusCode: res.StatusCode, | |
| }, | |
| } | |
| target := &ret | |
| b, err := gensupport.DecodeResponseBytes(target, res) | |
| if err != nil { | |
| return nil, err | |
| } | |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "fitness.users.dataSources.dataPointChanges.list", "response", internallog.HTTPResponse(res, b)) | |
| return ret, nil | |
| } | |
| // 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 *UsersDataSourcesDataPointChangesListCall) Pages(ctx context.Context, f func(*ListDataPointChangesResponse) error) error { | |
| c.ctx_ = ctx | |
| defer c.PageToken(c.urlParams_.Get("pageToken")) | |
| 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) | |
| } | |
| } | |
| type UsersDataSourcesDatasetsDeleteCall struct { | |
| s *Service | |
| userId string | |
| dataSourceId string | |
| datasetId string | |
| urlParams_ gensupport.URLParams | |
| ctx_ context.Context | |
| header_ http.Header | |
| } | |
| // Delete: Performs an inclusive delete of all data points whose start and end | |
| // times have any overlap with the time range specified by the dataset ID. For | |
| // most data types, the entire data point will be deleted. For data types where | |
| // the time span represents a consistent value (such as | |
| // com.google.activity.segment), and a data point straddles either end point of | |
| // the dataset, only the overlapping portion of the data point will be deleted. | |
| // | |
| // - dataSourceId: The data stream ID of the data source that created the | |
| // dataset. | |
| // - datasetId: Dataset identifier that is a composite of the minimum data | |
| // point start time and maximum data point end time represented as | |
| // nanoseconds from the epoch. The ID is formatted like: "startTime-endTime" | |
| // where startTime and endTime are 64 bit integers. | |
| // - userId: Delete a dataset for the person identified. Use me to indicate the | |
| // authenticated user. Only me is supported at this time. | |
| func (r *UsersDataSourcesDatasetsService) Delete(userId string, dataSourceId string, datasetId string) *UsersDataSourcesDatasetsDeleteCall { | |
| c := &UsersDataSourcesDatasetsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} | |
| c.userId = userId | |
| c.dataSourceId = dataSourceId | |
| c.datasetId = datasetId | |
| return c | |
| } | |
| // Fields allows partial responses to be retrieved. See | |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more | |
| // details. | |
| func (c *UsersDataSourcesDatasetsDeleteCall) Fields(s ...googleapi.Field) *UsersDataSourcesDatasetsDeleteCall { | |
| c.urlParams_.Set("fields", googleapi.CombineFields(s)) | |
| return c | |
| } | |
| // Context sets the context to be used in this call's Do method. | |
| func (c *UsersDataSourcesDatasetsDeleteCall) Context(ctx context.Context) *UsersDataSourcesDatasetsDeleteCall { | |
| c.ctx_ = ctx | |
| return c | |
| } | |
| // Header returns a http.Header that can be modified by the caller to add | |
| // headers to the request. | |
| func (c *UsersDataSourcesDatasetsDeleteCall) Header() http.Header { | |
| if c.header_ == nil { | |
| c.header_ = make(http.Header) | |
| } | |
| return c.header_ | |
| } | |
| func (c *UsersDataSourcesDatasetsDeleteCall) doRequest(alt string) (*http.Response, error) { | |
| reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) | |
| c.urlParams_.Set("alt", alt) | |
| c.urlParams_.Set("prettyPrint", "false") | |
| urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/dataSources/{dataSourceId}/datasets/{datasetId}") | |
| urls += "?" + c.urlParams_.Encode() | |
| req, err := http.NewRequest("DELETE", urls, nil) | |
| if err != nil { | |
| return nil, err | |
| } | |
| req.Header = reqHeaders | |
| googleapi.Expand(req.URL, map[string]string{ | |
| "userId": c.userId, | |
| "dataSourceId": c.dataSourceId, | |
| "datasetId": c.datasetId, | |
| }) | |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "fitness.users.dataSources.datasets.delete", "request", internallog.HTTPRequest(req, nil)) | |
| return gensupport.SendRequest(c.ctx_, c.s.client, req) | |
| } | |
| // Do executes the "fitness.users.dataSources.datasets.delete" call. | |
| func (c *UsersDataSourcesDatasetsDeleteCall) 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 gensupport.WrapError(err) | |
| } | |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "fitness.users.dataSources.datasets.delete", "response", internallog.HTTPResponse(res, nil)) | |
| return nil | |
| } | |
| type UsersDataSourcesDatasetsGetCall struct { | |
| s *Service | |
| userId string | |
| dataSourceId string | |
| datasetId string | |
| urlParams_ gensupport.URLParams | |
| ifNoneMatch_ string | |
| ctx_ context.Context | |
| header_ http.Header | |
| } | |
| // Get: Returns a dataset containing all data points whose start and end times | |
| // overlap with the specified range of the dataset minimum start time and | |
| // maximum end time. Specifically, any data point whose start time is less than | |
| // or equal to the dataset end time and whose end time is greater than or equal | |
| // to the dataset start time. | |
| // | |
| // - dataSourceId: The data stream ID of the data source that created the | |
| // dataset. | |
| // - datasetId: Dataset identifier that is a composite of the minimum data | |
| // point start time and maximum data point end time represented as | |
| // nanoseconds from the epoch. The ID is formatted like: "startTime-endTime" | |
| // where startTime and endTime are 64 bit integers. | |
| // - userId: Retrieve a dataset for the person identified. Use me to indicate | |
| // the authenticated user. Only me is supported at this time. | |
| func (r *UsersDataSourcesDatasetsService) Get(userId string, dataSourceId string, datasetId string) *UsersDataSourcesDatasetsGetCall { | |
| c := &UsersDataSourcesDatasetsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} | |
| c.userId = userId | |
| c.dataSourceId = dataSourceId | |
| c.datasetId = datasetId | |
| return c | |
| } | |
| // Limit sets the optional parameter "limit": If specified, no more than this | |
| // many data points will be included in the dataset. If there are more data | |
| // points in the dataset, nextPageToken will be set in the dataset response. | |
| // The limit is applied from the end of the time range. That is, if pageToken | |
| // is absent, the limit most recent data points will be returned. | |
| func (c *UsersDataSourcesDatasetsGetCall) Limit(limit int64) *UsersDataSourcesDatasetsGetCall { | |
| c.urlParams_.Set("limit", fmt.Sprint(limit)) | |
| return c | |
| } | |
| // PageToken sets the optional parameter "pageToken": The continuation token, | |
| // which is used to page through large datasets. To get the next page of a | |
| // dataset, set this parameter to the value of nextPageToken from the previous | |
| // response. Each subsequent call will yield a partial dataset with data point | |
| // end timestamps that are strictly smaller than those in the previous partial | |
| // response. | |
| func (c *UsersDataSourcesDatasetsGetCall) PageToken(pageToken string) *UsersDataSourcesDatasetsGetCall { | |
| c.urlParams_.Set("pageToken", pageToken) | |
| return c | |
| } | |
| // Fields allows partial responses to be retrieved. See | |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more | |
| // details. | |
| func (c *UsersDataSourcesDatasetsGetCall) Fields(s ...googleapi.Field) *UsersDataSourcesDatasetsGetCall { | |
| c.urlParams_.Set("fields", googleapi.CombineFields(s)) | |
| return c | |
| } | |
| // IfNoneMatch sets an 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. | |
| func (c *UsersDataSourcesDatasetsGetCall) IfNoneMatch(entityTag string) *UsersDataSourcesDatasetsGetCall { | |
| c.ifNoneMatch_ = entityTag | |
| return c | |
| } | |
| // Context sets the context to be used in this call's Do method. | |
| func (c *UsersDataSourcesDatasetsGetCall) Context(ctx context.Context) *UsersDataSourcesDatasetsGetCall { | |
| c.ctx_ = ctx | |
| return c | |
| } | |
| // Header returns a http.Header that can be modified by the caller to add | |
| // headers to the request. | |
| func (c *UsersDataSourcesDatasetsGetCall) Header() http.Header { | |
| if c.header_ == nil { | |
| c.header_ = make(http.Header) | |
| } | |
| return c.header_ | |
| } | |
| func (c *UsersDataSourcesDatasetsGetCall) doRequest(alt string) (*http.Response, error) { | |
| reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) | |
| if c.ifNoneMatch_ != "" { | |
| reqHeaders.Set("If-None-Match", c.ifNoneMatch_) | |
| } | |
| c.urlParams_.Set("alt", alt) | |
| c.urlParams_.Set("prettyPrint", "false") | |
| urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/dataSources/{dataSourceId}/datasets/{datasetId}") | |
| urls += "?" + c.urlParams_.Encode() | |
| req, err := http.NewRequest("GET", urls, nil) | |
| if err != nil { | |
| return nil, err | |
| } | |
| req.Header = reqHeaders | |
| googleapi.Expand(req.URL, map[string]string{ | |
| "userId": c.userId, | |
| "dataSourceId": c.dataSourceId, | |
| "datasetId": c.datasetId, | |
| }) | |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "fitness.users.dataSources.datasets.get", "request", internallog.HTTPRequest(req, nil)) | |
| return gensupport.SendRequest(c.ctx_, c.s.client, req) | |
| } | |
| // Do executes the "fitness.users.dataSources.datasets.get" call. | |
| // Any non-2xx status code is an error. Response headers are in either | |
| // *Dataset.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 *UsersDataSourcesDatasetsGetCall) Do(opts ...googleapi.CallOption) (*Dataset, 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, gensupport.WrapError(&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, gensupport.WrapError(err) | |
| } | |
| ret := &Dataset{ | |
| ServerResponse: googleapi.ServerResponse{ | |
| Header: res.Header, | |
| HTTPStatusCode: res.StatusCode, | |
| }, | |
| } | |
| target := &ret | |
| b, err := gensupport.DecodeResponseBytes(target, res) | |
| if err != nil { | |
| return nil, err | |
| } | |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "fitness.users.dataSources.datasets.get", "response", internallog.HTTPResponse(res, b)) | |
| return ret, nil | |
| } | |
| // 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 *UsersDataSourcesDatasetsGetCall) Pages(ctx context.Context, f func(*Dataset) error) error { | |
| c.ctx_ = ctx | |
| defer c.PageToken(c.urlParams_.Get("pageToken")) | |
| 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) | |
| } | |
| } | |
| type UsersDataSourcesDatasetsPatchCall struct { | |
| s *Service | |
| userId string | |
| dataSourceId string | |
| datasetId string | |
| dataset *Dataset | |
| urlParams_ gensupport.URLParams | |
| ctx_ context.Context | |
| header_ http.Header | |
| } | |
| // Patch: Adds data points to a dataset. The dataset need not be previously | |
| // created. All points within the given dataset will be returned with subsquent | |
| // calls to retrieve this dataset. Data points can belong to more than one | |
| // dataset. This method does not use patch semantics: the data points provided | |
| // are merely inserted, with no existing data replaced. | |
| // | |
| // - dataSourceId: The data stream ID of the data source that created the | |
| // dataset. | |
| // - datasetId: This field is not used, and can be safely omitted. | |
| // - userId: Patch a dataset for the person identified. Use me to indicate the | |
| // authenticated user. Only me is supported at this time. | |
| func (r *UsersDataSourcesDatasetsService) Patch(userId string, dataSourceId string, datasetId string, dataset *Dataset) *UsersDataSourcesDatasetsPatchCall { | |
| c := &UsersDataSourcesDatasetsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} | |
| c.userId = userId | |
| c.dataSourceId = dataSourceId | |
| c.datasetId = datasetId | |
| c.dataset = dataset | |
| return c | |
| } | |
| // Fields allows partial responses to be retrieved. See | |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more | |
| // details. | |
| func (c *UsersDataSourcesDatasetsPatchCall) Fields(s ...googleapi.Field) *UsersDataSourcesDatasetsPatchCall { | |
| c.urlParams_.Set("fields", googleapi.CombineFields(s)) | |
| return c | |
| } | |
| // Context sets the context to be used in this call's Do method. | |
| func (c *UsersDataSourcesDatasetsPatchCall) Context(ctx context.Context) *UsersDataSourcesDatasetsPatchCall { | |
| c.ctx_ = ctx | |
| return c | |
| } | |
| // Header returns a http.Header that can be modified by the caller to add | |
| // headers to the request. | |
| func (c *UsersDataSourcesDatasetsPatchCall) Header() http.Header { | |
| if c.header_ == nil { | |
| c.header_ = make(http.Header) | |
| } | |
| return c.header_ | |
| } | |
| func (c *UsersDataSourcesDatasetsPatchCall) doRequest(alt string) (*http.Response, error) { | |
| reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) | |
| body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.dataset) | |
| if err != nil { | |
| return nil, err | |
| } | |
| c.urlParams_.Set("alt", alt) | |
| c.urlParams_.Set("prettyPrint", "false") | |
| urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/dataSources/{dataSourceId}/datasets/{datasetId}") | |
| 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{ | |
| "userId": c.userId, | |
| "dataSourceId": c.dataSourceId, | |
| "datasetId": c.datasetId, | |
| }) | |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "fitness.users.dataSources.datasets.patch", "request", internallog.HTTPRequest(req, body.Bytes())) | |
| return gensupport.SendRequest(c.ctx_, c.s.client, req) | |
| } | |
| // Do executes the "fitness.users.dataSources.datasets.patch" call. | |
| // Any non-2xx status code is an error. Response headers are in either | |
| // *Dataset.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 *UsersDataSourcesDatasetsPatchCall) Do(opts ...googleapi.CallOption) (*Dataset, 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, gensupport.WrapError(&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, gensupport.WrapError(err) | |
| } | |
| ret := &Dataset{ | |
| ServerResponse: googleapi.ServerResponse{ | |
| Header: res.Header, | |
| HTTPStatusCode: res.StatusCode, | |
| }, | |
| } | |
| target := &ret | |
| b, err := gensupport.DecodeResponseBytes(target, res) | |
| if err != nil { | |
| return nil, err | |
| } | |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "fitness.users.dataSources.datasets.patch", "response", internallog.HTTPResponse(res, b)) | |
| return ret, nil | |
| } | |
| // 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 *UsersDataSourcesDatasetsPatchCall) Pages(ctx context.Context, f func(*Dataset) error) error { | |
| c.ctx_ = ctx | |
| defer func(pt string) { c.dataset.NextPageToken = pt }(c.dataset.NextPageToken) | |
| for { | |
| x, err := c.Do() | |
| if err != nil { | |
| return err | |
| } | |
| if err := f(x); err != nil { | |
| return err | |
| } | |
| if x.NextPageToken == "" { | |
| return nil | |
| } | |
| c.dataset.NextPageToken = x.NextPageToken | |
| } | |
| } | |
| type UsersDatasetAggregateCall struct { | |
| s *Service | |
| userId string | |
| aggregaterequest *AggregateRequest | |
| urlParams_ gensupport.URLParams | |
| ctx_ context.Context | |
| header_ http.Header | |
| } | |
| // Aggregate: Aggregates data of a certain type or stream into buckets divided | |
| // by a given type of boundary. Multiple data sets of multiple types and from | |
| // multiple sources can be aggregated into exactly one bucket type per request. | |
| // | |
| // - userId: Aggregate data for the person identified. Use me to indicate the | |
| // authenticated user. Only me is supported at this time. | |
| func (r *UsersDatasetService) Aggregate(userId string, aggregaterequest *AggregateRequest) *UsersDatasetAggregateCall { | |
| c := &UsersDatasetAggregateCall{s: r.s, urlParams_: make(gensupport.URLParams)} | |
| c.userId = userId | |
| c.aggregaterequest = aggregaterequest | |
| return c | |
| } | |
| // Fields allows partial responses to be retrieved. See | |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more | |
| // details. | |
| func (c *UsersDatasetAggregateCall) Fields(s ...googleapi.Field) *UsersDatasetAggregateCall { | |
| c.urlParams_.Set("fields", googleapi.CombineFields(s)) | |
| return c | |
| } | |
| // Context sets the context to be used in this call's Do method. | |
| func (c *UsersDatasetAggregateCall) Context(ctx context.Context) *UsersDatasetAggregateCall { | |
| c.ctx_ = ctx | |
| return c | |
| } | |
| // Header returns a http.Header that can be modified by the caller to add | |
| // headers to the request. | |
| func (c *UsersDatasetAggregateCall) Header() http.Header { | |
| if c.header_ == nil { | |
| c.header_ = make(http.Header) | |
| } | |
| return c.header_ | |
| } | |
| func (c *UsersDatasetAggregateCall) doRequest(alt string) (*http.Response, error) { | |
| reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) | |
| body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.aggregaterequest) | |
| if err != nil { | |
| return nil, err | |
| } | |
| c.urlParams_.Set("alt", alt) | |
| c.urlParams_.Set("prettyPrint", "false") | |
| urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/dataset:aggregate") | |
| 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{ | |
| "userId": c.userId, | |
| }) | |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "fitness.users.dataset.aggregate", "request", internallog.HTTPRequest(req, body.Bytes())) | |
| return gensupport.SendRequest(c.ctx_, c.s.client, req) | |
| } | |
| // Do executes the "fitness.users.dataset.aggregate" call. | |
| // Any non-2xx status code is an error. Response headers are in either | |
| // *AggregateResponse.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 *UsersDatasetAggregateCall) Do(opts ...googleapi.CallOption) (*AggregateResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err) | |
| } | |
| ret := &AggregateResponse{ | |
| ServerResponse: googleapi.ServerResponse{ | |
| Header: res.Header, | |
| HTTPStatusCode: res.StatusCode, | |
| }, | |
| } | |
| target := &ret | |
| b, err := gensupport.DecodeResponseBytes(target, res) | |
| if err != nil { | |
| return nil, err | |
| } | |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "fitness.users.dataset.aggregate", "response", internallog.HTTPResponse(res, b)) | |
| return ret, nil | |
| } | |
| type UsersSessionsDeleteCall struct { | |
| s *Service | |
| userId string | |
| sessionId string | |
| urlParams_ gensupport.URLParams | |
| ctx_ context.Context | |
| header_ http.Header | |
| } | |
| // Delete: Deletes a session specified by the given session ID. | |
| // | |
| // - sessionId: The ID of the session to be deleted. | |
| // - userId: Delete a session for the person identified. Use me to indicate the | |
| // authenticated user. Only me is supported at this time. | |
| func (r *UsersSessionsService) Delete(userId string, sessionId string) *UsersSessionsDeleteCall { | |
| c := &UsersSessionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} | |
| c.userId = userId | |
| c.sessionId = sessionId | |
| return c | |
| } | |
| // Fields allows partial responses to be retrieved. See | |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more | |
| // details. | |
| func (c *UsersSessionsDeleteCall) Fields(s ...googleapi.Field) *UsersSessionsDeleteCall { | |
| c.urlParams_.Set("fields", googleapi.CombineFields(s)) | |
| return c | |
| } | |
| // Context sets the context to be used in this call's Do method. | |
| func (c *UsersSessionsDeleteCall) Context(ctx context.Context) *UsersSessionsDeleteCall { | |
| c.ctx_ = ctx | |
| return c | |
| } | |
| // Header returns a http.Header that can be modified by the caller to add | |
| // headers to the request. | |
| func (c *UsersSessionsDeleteCall) Header() http.Header { | |
| if c.header_ == nil { | |
| c.header_ = make(http.Header) | |
| } | |
| return c.header_ | |
| } | |
| func (c *UsersSessionsDeleteCall) doRequest(alt string) (*http.Response, error) { | |
| reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) | |
| c.urlParams_.Set("alt", alt) | |
| c.urlParams_.Set("prettyPrint", "false") | |
| urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/sessions/{sessionId}") | |
| urls += "?" + c.urlParams_.Encode() | |
| req, err := http.NewRequest("DELETE", urls, nil) | |
| if err != nil { | |
| return nil, err | |
| } | |
| req.Header = reqHeaders | |
| googleapi.Expand(req.URL, map[string]string{ | |
| "userId": c.userId, | |
| "sessionId": c.sessionId, | |
| }) | |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "fitness.users.sessions.delete", "request", internallog.HTTPRequest(req, nil)) | |
| return gensupport.SendRequest(c.ctx_, c.s.client, req) | |
| } | |
| // Do executes the "fitness.users.sessions.delete" call. | |
| func (c *UsersSessionsDeleteCall) 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 gensupport.WrapError(err) | |
| } | |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "fitness.users.sessions.delete", "response", internallog.HTTPResponse(res, nil)) | |
| return nil | |
| } | |
| type UsersSessionsListCall struct { | |
| s *Service | |
| userId string | |
| urlParams_ gensupport.URLParams | |
| ifNoneMatch_ string | |
| ctx_ context.Context | |
| header_ http.Header | |
| } | |
| // List: Lists sessions previously created. | |
| // | |
| // - userId: List sessions for the person identified. Use me to indicate the | |
| // authenticated user. Only me is supported at this time. | |
| func (r *UsersSessionsService) List(userId string) *UsersSessionsListCall { | |
| c := &UsersSessionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} | |
| c.userId = userId | |
| return c | |
| } | |
| // ActivityType sets the optional parameter "activityType": If non-empty, only | |
| // sessions with these activity types should be returned. | |
| func (c *UsersSessionsListCall) ActivityType(activityType ...int64) *UsersSessionsListCall { | |
| var activityType_ []string | |
| for _, v := range activityType { | |
| activityType_ = append(activityType_, fmt.Sprint(v)) | |
| } | |
| c.urlParams_.SetMulti("activityType", activityType_) | |
| return c | |
| } | |
| // EndTime sets the optional parameter "endTime": An RFC3339 timestamp. Only | |
| // sessions starting before endTime and ending after startTime up to (endTime + | |
| // 1 day) will be included in the response. If this time is omitted but | |
| // startTime is specified, all sessions ending after startTime to the end of | |
| // time will be returned. | |
| func (c *UsersSessionsListCall) EndTime(endTime string) *UsersSessionsListCall { | |
| c.urlParams_.Set("endTime", endTime) | |
| return c | |
| } | |
| // IncludeDeleted sets the optional parameter "includeDeleted": If true, and if | |
| // both startTime and endTime are omitted, session deletions will be returned. | |
| func (c *UsersSessionsListCall) IncludeDeleted(includeDeleted bool) *UsersSessionsListCall { | |
| c.urlParams_.Set("includeDeleted", fmt.Sprint(includeDeleted)) | |
| return c | |
| } | |
| // PageToken sets the optional parameter "pageToken": The continuation token, | |
| // which is used for incremental syncing. To get the next batch of changes, set | |
| // this parameter to the value of nextPageToken from the previous response. The | |
| // page token is ignored if either start or end time is specified. If none of | |
| // start time, end time, and the page token is specified, sessions modified in | |
| // the last 30 days are returned. | |
| func (c *UsersSessionsListCall) PageToken(pageToken string) *UsersSessionsListCall { | |
| c.urlParams_.Set("pageToken", pageToken) | |
| return c | |
| } | |
| // StartTime sets the optional parameter "startTime": An RFC3339 timestamp. | |
| // Only sessions starting before endTime and ending after startTime up to | |
| // (endTime + 1 day) will be included in the response. If this time is omitted | |
| // but endTime is specified, all sessions starting before endTime and ending | |
| // after the start of time up to (endTime + 1 day) will be returned. | |
| func (c *UsersSessionsListCall) StartTime(startTime string) *UsersSessionsListCall { | |
| c.urlParams_.Set("startTime", startTime) | |
| return c | |
| } | |
| // Fields allows partial responses to be retrieved. See | |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more | |
| // details. | |
| func (c *UsersSessionsListCall) Fields(s ...googleapi.Field) *UsersSessionsListCall { | |
| c.urlParams_.Set("fields", googleapi.CombineFields(s)) | |
| return c | |
| } | |
| // IfNoneMatch sets an 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. | |
| func (c *UsersSessionsListCall) IfNoneMatch(entityTag string) *UsersSessionsListCall { | |
| c.ifNoneMatch_ = entityTag | |
| return c | |
| } | |
| // Context sets the context to be used in this call's Do method. | |
| func (c *UsersSessionsListCall) Context(ctx context.Context) *UsersSessionsListCall { | |
| c.ctx_ = ctx | |
| return c | |
| } | |
| // Header returns a http.Header that can be modified by the caller to add | |
| // headers to the request. | |
| func (c *UsersSessionsListCall) Header() http.Header { | |
| if c.header_ == nil { | |
| c.header_ = make(http.Header) | |
| } | |
| return c.header_ | |
| } | |
| func (c *UsersSessionsListCall) doRequest(alt string) (*http.Response, error) { | |
| reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) | |
| if c.ifNoneMatch_ != "" { | |
| reqHeaders.Set("If-None-Match", c.ifNoneMatch_) | |
| } | |
| c.urlParams_.Set("alt", alt) | |
| c.urlParams_.Set("prettyPrint", "false") | |
| urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/sessions") | |
| urls += "?" + c.urlParams_.Encode() | |
| req, err := http.NewRequest("GET", urls, nil) | |
| if err != nil { | |
| return nil, err | |
| } | |
| req.Header = reqHeaders | |
| googleapi.Expand(req.URL, map[string]string{ | |
| "userId": c.userId, | |
| }) | |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "fitness.users.sessions.list", "request", internallog.HTTPRequest(req, nil)) | |
| return gensupport.SendRequest(c.ctx_, c.s.client, req) | |
| } | |
| // Do executes the "fitness.users.sessions.list" call. | |
| // Any non-2xx status code is an error. Response headers are in either | |
| // *ListSessionsResponse.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 *UsersSessionsListCall) Do(opts ...googleapi.CallOption) (*ListSessionsResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err) | |
| } | |
| ret := &ListSessionsResponse{ | |
| ServerResponse: googleapi.ServerResponse{ | |
| Header: res.Header, | |
| HTTPStatusCode: res.StatusCode, | |
| }, | |
| } | |
| target := &ret | |
| b, err := gensupport.DecodeResponseBytes(target, res) | |
| if err != nil { | |
| return nil, err | |
| } | |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "fitness.users.sessions.list", "response", internallog.HTTPResponse(res, b)) | |
| return ret, nil | |
| } | |
| // 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 *UsersSessionsListCall) Pages(ctx context.Context, f func(*ListSessionsResponse) error) error { | |
| c.ctx_ = ctx | |
| defer c.PageToken(c.urlParams_.Get("pageToken")) | |
| 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) | |
| } | |
| } | |
| type UsersSessionsUpdateCall struct { | |
| s *Service | |
| userId string | |
| sessionId string | |
| session *Session | |
| urlParams_ gensupport.URLParams | |
| ctx_ context.Context | |
| header_ http.Header | |
| } | |
| // Update: Updates or insert a given session. | |
| // | |
| // - sessionId: The ID of the session to be created. | |
| // - userId: Create sessions for the person identified. Use me to indicate the | |
| // authenticated user. Only me is supported at this time. | |
| func (r *UsersSessionsService) Update(userId string, sessionId string, session *Session) *UsersSessionsUpdateCall { | |
| c := &UsersSessionsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)} | |
| c.userId = userId | |
| c.sessionId = sessionId | |
| c.session = session | |
| return c | |
| } | |
| // Fields allows partial responses to be retrieved. See | |
| // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more | |
| // details. | |
| func (c *UsersSessionsUpdateCall) Fields(s ...googleapi.Field) *UsersSessionsUpdateCall { | |
| c.urlParams_.Set("fields", googleapi.CombineFields(s)) | |
| return c | |
| } | |
| // Context sets the context to be used in this call's Do method. | |
| func (c *UsersSessionsUpdateCall) Context(ctx context.Context) *UsersSessionsUpdateCall { | |
| c.ctx_ = ctx | |
| return c | |
| } | |
| // Header returns a http.Header that can be modified by the caller to add | |
| // headers to the request. | |
| func (c *UsersSessionsUpdateCall) Header() http.Header { | |
| if c.header_ == nil { | |
| c.header_ = make(http.Header) | |
| } | |
| return c.header_ | |
| } | |
| func (c *UsersSessionsUpdateCall) doRequest(alt string) (*http.Response, error) { | |
| reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) | |
| body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.session) | |
| if err != nil { | |
| return nil, err | |
| } | |
| c.urlParams_.Set("alt", alt) | |
| c.urlParams_.Set("prettyPrint", "false") | |
| urls := googleapi.ResolveRelative(c.s.BasePath, "{userId}/sessions/{sessionId}") | |
| 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{ | |
| "userId": c.userId, | |
| "sessionId": c.sessionId, | |
| }) | |
| c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "fitness.users.sessions.update", "request", internallog.HTTPRequest(req, body.Bytes())) | |
| return gensupport.SendRequest(c.ctx_, c.s.client, req) | |
| } | |
| // Do executes the "fitness.users.sessions.update" call. | |
| // Any non-2xx status code is an error. Response headers are in either | |
| // *Session.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 *UsersSessionsUpdateCall) Do(opts ...googleapi.CallOption) (*Session, 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, gensupport.WrapError(&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, gensupport.WrapError(err) | |
| } | |
| ret := &Session{ | |
| ServerResponse: googleapi.ServerResponse{ | |
| Header: res.Header, | |
| HTTPStatusCode: res.StatusCode, | |
| }, | |
| } | |
| target := &ret | |
| b, err := gensupport.DecodeResponseBytes(target, res) | |
| if err != nil { | |
| return nil, err | |
| } | |
| c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "fitness.users.sessions.update", "response", internallog.HTTPResponse(res, b)) | |
| return ret, nil | |
| } |