Packages
Fitness API client library. The Fitness API for managing users' fitness tracking data.
Current section
Files
Jump to
Current section
Files
lib/google_api/fitness/v1/connection.ex
# Copyright 2017 Google Inc.
#
# 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.
# NOTE: This class is auto generated by the swagger code generator program.
# https://github.com/swagger-api/swagger-codegen.git
# Do not edit the class manually.
defmodule GoogleApi.Fitness.V1.Connection do
@moduledoc """
Handle Tesla connections for GoogleApi.Fitness.V1.
"""
use Tesla
# Add any middleware here (authentication)
plug Tesla.Middleware.BaseUrl, "https://www.googleapis.com/fitness/v1/users"
plug Tesla.Middleware.Headers, %{"User-Agent" => "Elixir"}
plug Tesla.Middleware.EncodeJson
@scopes [
"https://www.googleapis.com/auth/fitness.activity.read", # View your activity information in Google Fit
"https://www.googleapis.com/auth/fitness.activity.write", # View and store your activity information in Google Fit
"https://www.googleapis.com/auth/fitness.blood_glucose.read", # View blood glucose data in Google Fit
"https://www.googleapis.com/auth/fitness.blood_glucose.write", # View and store blood glucose data in Google Fit
"https://www.googleapis.com/auth/fitness.blood_pressure.read", # View blood pressure data in Google Fit
"https://www.googleapis.com/auth/fitness.blood_pressure.write", # View and store blood pressure data in Google Fit
"https://www.googleapis.com/auth/fitness.body.read", # View body sensor information in Google Fit
"https://www.googleapis.com/auth/fitness.body.write", # View and store body sensor data in Google Fit
"https://www.googleapis.com/auth/fitness.body_temperature.read", # View body temperature data in Google Fit
"https://www.googleapis.com/auth/fitness.body_temperature.write", # View and store body temperature data in Google Fit
"https://www.googleapis.com/auth/fitness.location.read", # View your stored location data in Google Fit
"https://www.googleapis.com/auth/fitness.location.write", # View and store your location data in Google Fit
"https://www.googleapis.com/auth/fitness.nutrition.read", # View nutrition information in Google Fit
"https://www.googleapis.com/auth/fitness.nutrition.write", # View and store nutrition information in Google Fit
"https://www.googleapis.com/auth/fitness.oxygen_saturation.read", # View oxygen saturation data in Google Fit
"https://www.googleapis.com/auth/fitness.oxygen_saturation.write", # View and store oxygen saturation data in Google Fit
"https://www.googleapis.com/auth/fitness.reproductive_health.read", # View reproductive health data in Google Fit
"https://www.googleapis.com/auth/fitness.reproductive_health.write" # View and store reproductive health data in Google Fit
]
@doc """
Configure a client connection using a provided OAuth2 token as a Bearer token
## Parameters
- token (String): Bearer token
## Returns
Tesla.Env.client
"""
@spec new(String.t) :: Tesla.Env.client
def new(token) when is_binary(token) do
Tesla.build_client([
{Tesla.Middleware.Headers, %{"Authorization" => "Bearer #{token}"}}
])
end
@doc """
Configure a client connection using a function which yields a Bearer token.
## Parameters
- token_fetcher (function arity of 1): Callback which provides an OAuth2 token
given a list of scopes
## Returns
Tesla.Env.client
"""
@spec new(((list(String.t)) -> String.t)) :: Tesla.Env.client
def new(token_fetcher) when is_function(token_fetcher) do
token_fetcher.(@scopes)
|> new
end
@doc """
Configure an authless client connection
# Returns
Tesla.Env.client
"""
@spec new() :: Tesla.Env.client
def new do
Tesla.build_client([])
end
end