# Fitness . users . sessions

## Instance Methods

Deletes a session specified by the given session ID.

Lists sessions previously created.

Retrieves the next page of results.

Updates or insert a given session.

### Method Details

`delete(userId, sessionId, currentTimeMillis=None)`

    Deletes a session specified by the given session ID.

    Args:
      userId: string, Delete a session for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. (required)
      sessionId: string, The ID of the session to be deleted. (required)
      currentTimeMillis: string, The client's current time in milliseconds since epoch.

`list(userId, includeDeleted=None, pageToken=None, startTime=None, endTime=None)`

    Lists sessions previously created.

    Args:
      userId: string, List sessions for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. (required)
      includeDeleted: boolean, If true, deleted sessions will be returned. When set to true, sessions returned in this response will only have an ID and will not have any other fields.
      pageToken: string, 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.
      startTime: string, An RFC3339 timestamp. Only sessions ending between the start and end times will be included in the response.
      endTime: string, An RFC3339 timestamp. Only sessions ending between the start and end times will be included in the response.

    Returns:
      An object of the form:

        {
        "nextPageToken": "A String", # 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.
        "deletedSession": [ # If includeDeleted is set to true in the request, this list will contain sessions deleted with original end times that are within the startTime and endTime frame.
          { # Sessions contain metadata, such as a user-friendly name and time interval information.
            "modifiedTimeMillis": "A String", # A timestamp that indicates when the session was last modified.
            "endTimeMillis": "A String", # An end time, in milliseconds since epoch, inclusive.
            "description": "A String", # A description for this session.
            "activityType": 42, # The type of activity this session represents.
            "application": { # See: google3/java/com/google/android/apps/heart/platform/api/Application.java # The application that created the session.
              "packageName": "A String", # 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.
              "version": "A String", # Version of the application. You should update this field whenever the application changes in a way that affects the computation of the data.
              "name": "A String", # 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.
              "detailsUrl": "A String", # An optional URI that can be used to link back to the application.
            },
            "startTimeMillis": "A String", # A start time, in milliseconds since epoch, inclusive.
            "activeTimeMillis": "A String", # 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
            "id": "A String", # A client-generated identifier that is unique across all sessions owned by this particular user.
            "name": "A String", # A human readable name of the session.
          },
        ],
        "session": [ # Sessions with an end time that is between startTime and endTime of the request.
          { # Sessions contain metadata, such as a user-friendly name and time interval information.
            "modifiedTimeMillis": "A String", # A timestamp that indicates when the session was last modified.
            "endTimeMillis": "A String", # An end time, in milliseconds since epoch, inclusive.
            "description": "A String", # A description for this session.
            "activityType": 42, # The type of activity this session represents.
            "application": { # See: google3/java/com/google/android/apps/heart/platform/api/Application.java # The application that created the session.
              "packageName": "A String", # 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.
              "version": "A String", # Version of the application. You should update this field whenever the application changes in a way that affects the computation of the data.
              "name": "A String", # 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.
              "detailsUrl": "A String", # An optional URI that can be used to link back to the application.
            },
            "startTimeMillis": "A String", # A start time, in milliseconds since epoch, inclusive.
            "activeTimeMillis": "A String", # 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
            "id": "A String", # A client-generated identifier that is unique across all sessions owned by this particular user.
            "name": "A String", # A human readable name of the session.
          },
        ],
      }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

`update(userId, sessionId, body, currentTimeMillis=None)`

    Updates or insert a given session.

    Args:
      userId: string, Create sessions for the person identified. Use me to indicate the authenticated user. Only me is supported at this time. (required)
      sessionId: string, The ID of the session to be created. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # Sessions contain metadata, such as a user-friendly name and time interval information.
      "modifiedTimeMillis": "A String", # A timestamp that indicates when the session was last modified.
      "endTimeMillis": "A String", # An end time, in milliseconds since epoch, inclusive.
      "description": "A String", # A description for this session.
      "activityType": 42, # The type of activity this session represents.
      "application": { # See: google3/java/com/google/android/apps/heart/platform/api/Application.java # The application that created the session.
        "packageName": "A String", # 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.
        "version": "A String", # Version of the application. You should update this field whenever the application changes in a way that affects the computation of the data.
        "name": "A String", # 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.
        "detailsUrl": "A String", # An optional URI that can be used to link back to the application.
      },
      "startTimeMillis": "A String", # A start time, in milliseconds since epoch, inclusive.
      "activeTimeMillis": "A String", # 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
      "id": "A String", # A client-generated identifier that is unique across all sessions owned by this particular user.
      "name": "A String", # A human readable name of the session.
    }

      currentTimeMillis: string, The client's current time in milliseconds since epoch.

    Returns:
      An object of the form:

        { # Sessions contain metadata, such as a user-friendly name and time interval information.
        "modifiedTimeMillis": "A String", # A timestamp that indicates when the session was last modified.
        "endTimeMillis": "A String", # An end time, in milliseconds since epoch, inclusive.
        "description": "A String", # A description for this session.
        "activityType": 42, # The type of activity this session represents.
        "application": { # See: google3/java/com/google/android/apps/heart/platform/api/Application.java # The application that created the session.
          "packageName": "A String", # 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.
          "version": "A String", # Version of the application. You should update this field whenever the application changes in a way that affects the computation of the data.
          "name": "A String", # 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.
          "detailsUrl": "A String", # An optional URI that can be used to link back to the application.
        },
        "startTimeMillis": "A String", # A start time, in milliseconds since epoch, inclusive.
        "activeTimeMillis": "A String", # 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
        "id": "A String", # A client-generated identifier that is unique across all sessions owned by this particular user.
        "name": "A String", # A human readable name of the session.
      }