google-api-ruby-client/generated/google-apis-fitness_v1/lib/google/apis/fitness_v1/service.rb

629 lines
38 KiB
Ruby

# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
require 'google/apis/core/base_service'
require 'google/apis/core/json_representation'
require 'google/apis/core/hashable'
require 'google/apis/errors'
module Google
module Apis
module FitnessV1
# Fitness API
#
# The Fitness API for managing users' fitness tracking data.
#
# @example
# require 'google/apis/fitness_v1'
#
# Fitness = Google::Apis::FitnessV1 # Alias the module
# service = Fitness::FitnessService.new
#
# @see https://developers.google.com/fit/rest/v1/get-started
class FitnessService < Google::Apis::Core::BaseService
# @return [String]
# API key. Your API key identifies your project and provides you with API access,
# quota, and reports. Required unless you provide an OAuth 2.0 token.
attr_accessor :key
# @return [String]
# Available to use for quota purposes for server-side applications. Can be any
# arbitrary string assigned to a user, but should not exceed 40 characters.
attr_accessor :quota_user
def initialize
super('https://fitness.googleapis.com/', 'fitness/v1/users/')
@batch_path = 'batch'
end
# 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.
# @param [String] user_id
# Create the data source for the person identified. Use me to indicate the
# authenticated user. Only me is supported at this time.
# @param [Google::Apis::FitnessV1::DataSource] data_source_object
# @param [String] fields
# Selector specifying which fields to include in a partial response.
# @param [String] quota_user
# Available to use for quota purposes for server-side applications. Can be any
# arbitrary string assigned to a user, but should not exceed 40 characters.
# @param [Google::Apis::RequestOptions] options
# Request-specific options
#
# @yield [result, err] Result & error if block supplied
# @yieldparam result [Google::Apis::FitnessV1::DataSource] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::FitnessV1::DataSource]
#
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
# @raise [Google::Apis::AuthorizationError] Authorization is required
def create_user_data_source(user_id, data_source_object = nil, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:post, '{userId}/dataSources', options)
command.request_representation = Google::Apis::FitnessV1::DataSource::Representation
command.request_object = data_source_object
command.response_representation = Google::Apis::FitnessV1::DataSource::Representation
command.response_class = Google::Apis::FitnessV1::DataSource
command.params['userId'] = user_id unless user_id.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# Deletes the specified data source. The request will fail if the data source
# contains any data points.
# @param [String] user_id
# Retrieve a data source for the person identified. Use me to indicate the
# authenticated user. Only me is supported at this time.
# @param [String] data_source_id
# The data stream ID of the data source to delete.
# @param [String] fields
# Selector specifying which fields to include in a partial response.
# @param [String] quota_user
# Available to use for quota purposes for server-side applications. Can be any
# arbitrary string assigned to a user, but should not exceed 40 characters.
# @param [Google::Apis::RequestOptions] options
# Request-specific options
#
# @yield [result, err] Result & error if block supplied
# @yieldparam result [Google::Apis::FitnessV1::DataSource] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::FitnessV1::DataSource]
#
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
# @raise [Google::Apis::AuthorizationError] Authorization is required
def delete_user_data_source(user_id, data_source_id, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:delete, '{userId}/dataSources/{dataSourceId}', options)
command.response_representation = Google::Apis::FitnessV1::DataSource::Representation
command.response_class = Google::Apis::FitnessV1::DataSource
command.params['userId'] = user_id unless user_id.nil?
command.params['dataSourceId'] = data_source_id unless data_source_id.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# Returns the specified data source.
# @param [String] user_id
# Retrieve a data source for the person identified. Use me to indicate the
# authenticated user. Only me is supported at this time.
# @param [String] data_source_id
# The data stream ID of the data source to retrieve.
# @param [String] fields
# Selector specifying which fields to include in a partial response.
# @param [String] quota_user
# Available to use for quota purposes for server-side applications. Can be any
# arbitrary string assigned to a user, but should not exceed 40 characters.
# @param [Google::Apis::RequestOptions] options
# Request-specific options
#
# @yield [result, err] Result & error if block supplied
# @yieldparam result [Google::Apis::FitnessV1::DataSource] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::FitnessV1::DataSource]
#
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
# @raise [Google::Apis::AuthorizationError] Authorization is required
def get_user_data_source(user_id, data_source_id, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:get, '{userId}/dataSources/{dataSourceId}', options)
command.response_representation = Google::Apis::FitnessV1::DataSource::Representation
command.response_class = Google::Apis::FitnessV1::DataSource
command.params['userId'] = user_id unless user_id.nil?
command.params['dataSourceId'] = data_source_id unless data_source_id.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# 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.
# @param [String] user_id
# List data sources for the person identified. Use me to indicate the
# authenticated user. Only me is supported at this time.
# @param [Array<String>, String] data_type_name
# The names of data types to include in the list. If not specified, all data
# sources will be returned.
# @param [String] fields
# Selector specifying which fields to include in a partial response.
# @param [String] quota_user
# Available to use for quota purposes for server-side applications. Can be any
# arbitrary string assigned to a user, but should not exceed 40 characters.
# @param [Google::Apis::RequestOptions] options
# Request-specific options
#
# @yield [result, err] Result & error if block supplied
# @yieldparam result [Google::Apis::FitnessV1::ListDataSourcesResponse] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::FitnessV1::ListDataSourcesResponse]
#
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
# @raise [Google::Apis::AuthorizationError] Authorization is required
def list_user_data_sources(user_id, data_type_name: nil, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:get, '{userId}/dataSources', options)
command.response_representation = Google::Apis::FitnessV1::ListDataSourcesResponse::Representation
command.response_class = Google::Apis::FitnessV1::ListDataSourcesResponse
command.params['userId'] = user_id unless user_id.nil?
command.query['dataTypeName'] = data_type_name unless data_type_name.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# 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.
# @param [String] user_id
# Update the data source for the person identified. Use me to indicate the
# authenticated user. Only me is supported at this time.
# @param [String] data_source_id
# The data stream ID of the data source to update.
# @param [Google::Apis::FitnessV1::DataSource] data_source_object
# @param [String] fields
# Selector specifying which fields to include in a partial response.
# @param [String] quota_user
# Available to use for quota purposes for server-side applications. Can be any
# arbitrary string assigned to a user, but should not exceed 40 characters.
# @param [Google::Apis::RequestOptions] options
# Request-specific options
#
# @yield [result, err] Result & error if block supplied
# @yieldparam result [Google::Apis::FitnessV1::DataSource] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::FitnessV1::DataSource]
#
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
# @raise [Google::Apis::AuthorizationError] Authorization is required
def update_user_data_source(user_id, data_source_id, data_source_object = nil, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:put, '{userId}/dataSources/{dataSourceId}', options)
command.request_representation = Google::Apis::FitnessV1::DataSource::Representation
command.request_object = data_source_object
command.response_representation = Google::Apis::FitnessV1::DataSource::Representation
command.response_class = Google::Apis::FitnessV1::DataSource
command.params['userId'] = user_id unless user_id.nil?
command.params['dataSourceId'] = data_source_id unless data_source_id.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# Queries for user's data point changes for a particular data source.
# @param [String] user_id
# List data points for the person identified. Use me to indicate the
# authenticated user. Only me is supported at this time.
# @param [String] data_source_id
# The data stream ID of the data source that created the dataset.
# @param [Fixnum] limit
# If specified, no more than this many data point changes will be included in
# the response.
# @param [String] page_token
# 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.
# @param [String] fields
# Selector specifying which fields to include in a partial response.
# @param [String] quota_user
# Available to use for quota purposes for server-side applications. Can be any
# arbitrary string assigned to a user, but should not exceed 40 characters.
# @param [Google::Apis::RequestOptions] options
# Request-specific options
#
# @yield [result, err] Result & error if block supplied
# @yieldparam result [Google::Apis::FitnessV1::ListDataPointChangesResponse] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::FitnessV1::ListDataPointChangesResponse]
#
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
# @raise [Google::Apis::AuthorizationError] Authorization is required
def list_user_data_source_data_point_changes(user_id, data_source_id, limit: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:get, '{userId}/dataSources/{dataSourceId}/dataPointChanges', options)
command.response_representation = Google::Apis::FitnessV1::ListDataPointChangesResponse::Representation
command.response_class = Google::Apis::FitnessV1::ListDataPointChangesResponse
command.params['userId'] = user_id unless user_id.nil?
command.params['dataSourceId'] = data_source_id unless data_source_id.nil?
command.query['limit'] = limit unless limit.nil?
command.query['pageToken'] = page_token unless page_token.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# 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.
# @param [String] user_id
# Delete a dataset for the person identified. Use me to indicate the
# authenticated user. Only me is supported at this time.
# @param [String] data_source_id
# The data stream ID of the data source that created the dataset.
# @param [String] dataset_id
# 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.
# @param [Fixnum] current_time_millis
# The client's current time in milliseconds since epoch.
# @param [Fixnum] modified_time_millis
# When the operation was performed on the client.
# @param [String] fields
# Selector specifying which fields to include in a partial response.
# @param [String] quota_user
# Available to use for quota purposes for server-side applications. Can be any
# arbitrary string assigned to a user, but should not exceed 40 characters.
# @param [Google::Apis::RequestOptions] options
# Request-specific options
#
# @yield [result, err] Result & error if block supplied
# @yieldparam result [NilClass] No result returned for this method
# @yieldparam err [StandardError] error object if request failed
#
# @return [void]
#
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
# @raise [Google::Apis::AuthorizationError] Authorization is required
def delete_user_data_source_dataset(user_id, data_source_id, dataset_id, current_time_millis: nil, modified_time_millis: nil, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:delete, '{userId}/dataSources/{dataSourceId}/datasets/{datasetId}', options)
command.params['userId'] = user_id unless user_id.nil?
command.params['dataSourceId'] = data_source_id unless data_source_id.nil?
command.params['datasetId'] = dataset_id unless dataset_id.nil?
command.query['currentTimeMillis'] = current_time_millis unless current_time_millis.nil?
command.query['modifiedTimeMillis'] = modified_time_millis unless modified_time_millis.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# 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.
# @param [String] user_id
# Retrieve a dataset for the person identified. Use me to indicate the
# authenticated user. Only me is supported at this time.
# @param [String] data_source_id
# The data stream ID of the data source that created the dataset.
# @param [String] dataset_id
# 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.
# @param [Fixnum] 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.
# @param [String] page_token
# 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.
# @param [String] fields
# Selector specifying which fields to include in a partial response.
# @param [String] quota_user
# Available to use for quota purposes for server-side applications. Can be any
# arbitrary string assigned to a user, but should not exceed 40 characters.
# @param [Google::Apis::RequestOptions] options
# Request-specific options
#
# @yield [result, err] Result & error if block supplied
# @yieldparam result [Google::Apis::FitnessV1::Dataset] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::FitnessV1::Dataset]
#
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
# @raise [Google::Apis::AuthorizationError] Authorization is required
def get_user_data_source_dataset(user_id, data_source_id, dataset_id, limit: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:get, '{userId}/dataSources/{dataSourceId}/datasets/{datasetId}', options)
command.response_representation = Google::Apis::FitnessV1::Dataset::Representation
command.response_class = Google::Apis::FitnessV1::Dataset
command.params['userId'] = user_id unless user_id.nil?
command.params['dataSourceId'] = data_source_id unless data_source_id.nil?
command.params['datasetId'] = dataset_id unless dataset_id.nil?
command.query['limit'] = limit unless limit.nil?
command.query['pageToken'] = page_token unless page_token.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# 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.
# @param [String] user_id
# Patch a dataset for the person identified. Use me to indicate the
# authenticated user. Only me is supported at this time.
# @param [String] data_source_id
# The data stream ID of the data source that created the dataset.
# @param [String] dataset_id
# 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.
# @param [Google::Apis::FitnessV1::Dataset] dataset_object
# @param [Fixnum] current_time_millis
# The client's current time in milliseconds since epoch. Note that the
# minStartTimeNs and maxEndTimeNs properties in the request body are in
# nanoseconds instead of milliseconds.
# @param [String] fields
# Selector specifying which fields to include in a partial response.
# @param [String] quota_user
# Available to use for quota purposes for server-side applications. Can be any
# arbitrary string assigned to a user, but should not exceed 40 characters.
# @param [Google::Apis::RequestOptions] options
# Request-specific options
#
# @yield [result, err] Result & error if block supplied
# @yieldparam result [Google::Apis::FitnessV1::Dataset] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::FitnessV1::Dataset]
#
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
# @raise [Google::Apis::AuthorizationError] Authorization is required
def patch_user_data_source_dataset(user_id, data_source_id, dataset_id, dataset_object = nil, current_time_millis: nil, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:patch, '{userId}/dataSources/{dataSourceId}/datasets/{datasetId}', options)
command.request_representation = Google::Apis::FitnessV1::Dataset::Representation
command.request_object = dataset_object
command.response_representation = Google::Apis::FitnessV1::Dataset::Representation
command.response_class = Google::Apis::FitnessV1::Dataset
command.params['userId'] = user_id unless user_id.nil?
command.params['dataSourceId'] = data_source_id unless data_source_id.nil?
command.params['datasetId'] = dataset_id unless dataset_id.nil?
command.query['currentTimeMillis'] = current_time_millis unless current_time_millis.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# 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.
# @param [String] user_id
# Aggregate data for the person identified. Use me to indicate the authenticated
# user. Only me is supported at this time.
# @param [Google::Apis::FitnessV1::AggregateRequest] aggregate_request_object
# @param [String] fields
# Selector specifying which fields to include in a partial response.
# @param [String] quota_user
# Available to use for quota purposes for server-side applications. Can be any
# arbitrary string assigned to a user, but should not exceed 40 characters.
# @param [Google::Apis::RequestOptions] options
# Request-specific options
#
# @yield [result, err] Result & error if block supplied
# @yieldparam result [Google::Apis::FitnessV1::AggregateResponse] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::FitnessV1::AggregateResponse]
#
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
# @raise [Google::Apis::AuthorizationError] Authorization is required
def aggregate_dataset(user_id, aggregate_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:post, '{userId}/dataset:aggregate', options)
command.request_representation = Google::Apis::FitnessV1::AggregateRequest::Representation
command.request_object = aggregate_request_object
command.response_representation = Google::Apis::FitnessV1::AggregateResponse::Representation
command.response_class = Google::Apis::FitnessV1::AggregateResponse
command.params['userId'] = user_id unless user_id.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# Deletes a session specified by the given session ID.
# @param [String] user_id
# Delete a session for the person identified. Use me to indicate the
# authenticated user. Only me is supported at this time.
# @param [String] session_id
# The ID of the session to be deleted.
# @param [Fixnum] current_time_millis
# The client's current time in milliseconds since epoch.
# @param [String] fields
# Selector specifying which fields to include in a partial response.
# @param [String] quota_user
# Available to use for quota purposes for server-side applications. Can be any
# arbitrary string assigned to a user, but should not exceed 40 characters.
# @param [Google::Apis::RequestOptions] options
# Request-specific options
#
# @yield [result, err] Result & error if block supplied
# @yieldparam result [NilClass] No result returned for this method
# @yieldparam err [StandardError] error object if request failed
#
# @return [void]
#
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
# @raise [Google::Apis::AuthorizationError] Authorization is required
def delete_user_session(user_id, session_id, current_time_millis: nil, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:delete, '{userId}/sessions/{sessionId}', options)
command.params['userId'] = user_id unless user_id.nil?
command.params['sessionId'] = session_id unless session_id.nil?
command.query['currentTimeMillis'] = current_time_millis unless current_time_millis.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# Lists sessions previously created.
# @param [String] user_id
# List sessions for the person identified. Use me to indicate the authenticated
# user. Only me is supported at this time.
# @param [Array<Fixnum>, Fixnum] activity_type
# If non-empty, only sessions with these activity types should be returned.
# @param [String] end_time
# An RFC3339 timestamp. Only sessions ending between the start and end times
# will be included in the response. If this time is omitted but startTime is
# specified, all sessions from startTime to the end of time will be returned.
# @param [Boolean] include_deleted
# If true, and if both startTime and endTime are omitted, session deletions will
# be returned.
# @param [String] page_token
# 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.
# @param [String] start_time
# An RFC3339 timestamp. Only sessions ending between the start and end times
# will be included in the response. If this time is omitted but endTime is
# specified, all sessions from the start of time up to endTime will be returned.
# @param [String] fields
# Selector specifying which fields to include in a partial response.
# @param [String] quota_user
# Available to use for quota purposes for server-side applications. Can be any
# arbitrary string assigned to a user, but should not exceed 40 characters.
# @param [Google::Apis::RequestOptions] options
# Request-specific options
#
# @yield [result, err] Result & error if block supplied
# @yieldparam result [Google::Apis::FitnessV1::ListSessionsResponse] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::FitnessV1::ListSessionsResponse]
#
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
# @raise [Google::Apis::AuthorizationError] Authorization is required
def list_user_sessions(user_id, activity_type: nil, end_time: nil, include_deleted: nil, page_token: nil, start_time: nil, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:get, '{userId}/sessions', options)
command.response_representation = Google::Apis::FitnessV1::ListSessionsResponse::Representation
command.response_class = Google::Apis::FitnessV1::ListSessionsResponse
command.params['userId'] = user_id unless user_id.nil?
command.query['activityType'] = activity_type unless activity_type.nil?
command.query['endTime'] = end_time unless end_time.nil?
command.query['includeDeleted'] = include_deleted unless include_deleted.nil?
command.query['pageToken'] = page_token unless page_token.nil?
command.query['startTime'] = start_time unless start_time.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
# Updates or insert a given session.
# @param [String] user_id
# Create sessions for the person identified. Use me to indicate the
# authenticated user. Only me is supported at this time.
# @param [String] session_id
# The ID of the session to be created.
# @param [Google::Apis::FitnessV1::Session] session_object
# @param [Fixnum] current_time_millis
# The client's current time in milliseconds since epoch.
# @param [String] fields
# Selector specifying which fields to include in a partial response.
# @param [String] quota_user
# Available to use for quota purposes for server-side applications. Can be any
# arbitrary string assigned to a user, but should not exceed 40 characters.
# @param [Google::Apis::RequestOptions] options
# Request-specific options
#
# @yield [result, err] Result & error if block supplied
# @yieldparam result [Google::Apis::FitnessV1::Session] parsed result object
# @yieldparam err [StandardError] error object if request failed
#
# @return [Google::Apis::FitnessV1::Session]
#
# @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
# @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
# @raise [Google::Apis::AuthorizationError] Authorization is required
def update_user_session(user_id, session_id, session_object = nil, current_time_millis: nil, fields: nil, quota_user: nil, options: nil, &block)
command = make_simple_command(:put, '{userId}/sessions/{sessionId}', options)
command.request_representation = Google::Apis::FitnessV1::Session::Representation
command.request_object = session_object
command.response_representation = Google::Apis::FitnessV1::Session::Representation
command.response_class = Google::Apis::FitnessV1::Session
command.params['userId'] = user_id unless user_id.nil?
command.params['sessionId'] = session_id unless session_id.nil?
command.query['currentTimeMillis'] = current_time_millis unless current_time_millis.nil?
command.query['fields'] = fields unless fields.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
execute_or_queue_command(command, &block)
end
protected
def apply_command_defaults(command)
command.query['key'] = key unless key.nil?
command.query['quotaUser'] = quota_user unless quota_user.nil?
end
end
end
end
end