class Alexa::SMAPI::Client

Public Class Methods

new(client_id, client_secret, refresh_token) click to toggle source
Calls superclass method
# File lib/alexa/smapi/client.rb, line 21
def initialize client_id, client_secret, refresh_token

  Faraday::Utils.default_params_encoder = Faraday::FlatParamsEncoder

  oauth2 = OAuth2::Client.new client_id,
                              client_secret,
                              :site => "https://api.amazonalexa.com/",
                              :authorize_url => "https://www.amazon.com/ap/oa",
                              :token_url => "https://api.amazon.com/auth/o2/token",
                              :header_format => "%s"

  params = {
      refresh_token: refresh_token,
      header_format: "%s"
  }

  super(oauth2, '', params)

  new_token = self.refresh!

  @token = new_token.token
  @expires_in = new_token.expires_in.to_i
  @expires_at = new_token.expires_at.to_i

end

Public Instance Methods

refresh_token!() click to toggle source
# File lib/alexa/smapi/client.rb, line 47
def refresh_token!

  new_token = self.refresh!

  @token = new_token.token
  @expires_in = new_token.expires_in.to_i
  @expires_at = new_token.expires_at.to_i

  @token

end