Class: AmazonAds::LWA

Inherits:
Object
  • Object
show all
Defined in:
lib/amazon_ads/lwa.rb

Overview

Requests Login with Amazon (LWA) access tokens for the Amazon Ads API Stateless: each call to #request hits the token endpoint; the caller owns caching

Constant Summary collapse

URL =

Signature:

  • String

"https://api.amazon.com/auth/o2/token"

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(refresh_token:, http: HTTP) ⇒ LWA

Returns a new instance of LWA.

Signature:

  • (refresh_token: String, ?http: untyped) -> void



21
22
23
24
# File 'lib/amazon_ads/lwa.rb', line 21

def initialize(refresh_token:, http: HTTP)
  @refresh_token = refresh_token
  @http = http
end

Instance Attribute Details

#refresh_tokenObject (readonly)

The OAuth refresh token



13
14
15
# File 'lib/amazon_ads/lwa.rb', line 13

def refresh_token
  @refresh_token
end

Class Method Details

.requestObject

Signature:

  • (refresh_token: String, ?http: untyped) -> Hash[String, untyped]



16
17
18
# File 'lib/amazon_ads/lwa.rb', line 16

def self.request(...)
  new(...).request
end

Instance Method Details

#requestObject

Requests a fresh access token from LWA

Signature:

  • () -> Hash[String, untyped]



28
29
30
31
32
33
# File 'lib/amazon_ads/lwa.rb', line 28

def request
  response = @http.post(URL, form: params)
  raise Error.build(response) if response.code >= 400

  response.parse
end