code: def retrieve_data(
      self, service, startTimeMillis, endTimeMillis, dataSourceId
  ) -> dict:
      try:
          return (
              service.users()
              .dataset()
              .aggregate(
                  userId="me",
                  body={
                      "aggregateBy": [
                          {
                              "dataTypeName": "com.google.step_count.delta",
                              "dataSourceId": dataSourceId,
                          }
                      ],
                      "bucketByTime": {"durationMillis": 86400000},
                      "startTimeMillis": startTimeMillis,
                      "endTimeMillis": endTimeMillis,
                  },
              )
              .execute()
          )
      except HttpError:
          raise HttpError
  
imports: import os.path
  import json
  import pandas
  import pytz
  from tzlocal import get_localzone
  from datetime import datetime
  from google.auth.transport.requests import Request
  from google.oauth2.credentials import Credentials
  from google_auth_oauthlib.flow import InstalledAppFlow
  from googleapiclient.discovery import Resource
  from googleapiclient.discovery import build
  from googleapiclient.errors import HttpError
  from mindsdb_sql import parse_sql
  from mindsdb.utilities import log
  from mindsdb.integrations.handlers.google_fit_handler.google_fit_tables import GoogleFitTable
  from mindsdb.integrations.libs.api_handler import APIHandler, FuncParser
  from mindsdb.integrations.libs.response import HandlerStatusResponse, HandlerResponse
label_desc: Use image node_id 4 for calling the GoogleFitHandler obj's underlying member method code with example usage: obj.retrieve_data(service, startTimeMillis, endTimeMillis, dataSourceId) and returns: service