## Installation


def application do
  [applications: [:eightyfour]]

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

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:
  google_view_id: "XXXXXX",
  start_date: "2010-01-01",
  token_lifetime: 3600,
  token_provider: Eightyfour.AccessToken

Create a Google service account:

* Go to
* `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:

* Go to
* `APIs & auth` -> `Credentials`
* Copy `Email address` field

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", ...]]}