Skip to content

twined/eightyfour

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eightyfour

Installation

Mix.exs:

def application do
  [applications: [:eightyfour]]
end

defp deps do
  [{:eightyfour, "~> 0.2.1"}]
end

Add to your supervision tree:

worker(Eightyfour, [])

Usage

Config options:

config :eightyfour,
  credentials: "priv/tokens/google/token.json",
  private_key: "priv/tokens/google/token.key.pem",
  # find your view_id in your analytics url:
  # https://www.google.com/analytics/web/#management/Settings/a000w000pVIEW_ID/
  google_view_id: "XXXXXX",
  start_date: "2010-01-01",
  token_lifetime: 3600,
  token_provider: Eightyfour.AccessToken

Create a Google service account:

  • Go to https://console.developers.google.com/
  • APIs & auth -> Credentials
  • Add credentials -> Service account
  • We need both key types, so start with JSON
  • Save as token.json
  • Click the email address under Service accounts.
  • Generate new P12 key
  • Save as token.p12
  • Move tokens to priv/tokens/google under your otp_app.
  • openssl pkcs12 -in token.p12 -out token.crt.pem -clcerts -nokeys
  • openssl pkcs12 -in token.p12 -out token.key.pem -nocerts -nodes

Find your google service account's email:

Add your google service account's email to the Analytics account you want to track. Make sure that its only permissions are Read & analyze.

Query API examples

iex(1)> Eightyfour.Query.browsers(:yesterday)
%{rows: [[os: "Windows", browser: "Chrome", version: "46.0.2490.80", ...]]}

About

Simple Elixir Google Analytics API wrapper.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages