An open API service indexing awesome lists of open source software.

https://github.com/alvarolorentedev/gatoo

google analytics exporter to multiple outputs
https://github.com/alvarolorentedev/gatoo

analytics export google google-analytics

Last synced: 5 months ago
JSON representation

google analytics exporter to multiple outputs

Awesome Lists containing this project

README

          

# ![logomakr_32f2md](https://user-images.githubusercontent.com/3071208/42147664-29898cca-7dcf-11e8-9c50-2cf3845b7fe8.png)

[![Build Status](https://travis-ci.org/kanekotic/gatoo.svg?branch=master)](https://travis-ci.org/kanekotic/gatoo)
[![codecov](https://codecov.io/gh/kanekotic/gatoo/branch/master/graph/badge.svg)](https://codecov.io/gh/kanekotic/gatoo)
[![npm](https://img.shields.io/npm/dt/gatoo.svg)](https://github.com/kanekotic/gatoo)
[![GitHub license](https://img.shields.io/github/license/kanekotic/gatoo.svg)](https://github.com/kanekotic/gatoo/blob/master/LICENSE)
[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://GitHub.com/kanekotic/gatoo/graphs/commit-activity)
[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.me/kanekotic/)

this project will provide a command line and a library to export google analytics to your prefered endpoint (console, log management, or db).

## Use as Command Line
install globally with `npm install gatoo -g`. Aftyer this it can be run with the next command:

```bash
gatoo console
```

## Use as library

first step is to add this to your project throught `yarn add gatoo` or `npm install gatoo`

currently you can retrieve in a simple way data from google analytics and route it to your prefered output. An example of retrieval is the next one.

### Import
```js
const importer = require('../lib/index').importer
path = require('path')

const email = 'your email' //email account from the user credentials
keyPath = path.join(__dirname, 'your credentials')// path to credentials json or pem
config = {
viewId: "some viewId",//the view id to query
daterange:{
"endDate":"2017-06-30",
"startDate":"2016-06-30"
},
metrics: "ga:users",
dimensions: "ga:date"
}

const example = async () => {
const result = await importer(email, keyPath, config)
console.log(JSON.stringify(result.data))
}

example()
```

### Export
```js
const exporter = require('../lib/index').exporter
path = require('path')

const email = 'your email' //email account from the user credentials
keyPath = path.join(__dirname, 'your credentials')// path to credentials json or pem
config = {
viewId: "some viewId",//the view id to query
daterange:{
"endDate":"2017-06-30",
"startDate":"2016-06-30"
},
metrics: "ga:users",
dimensions: "ga:date"
}

const doSomething () => {}

const example = async () => {
const result = await exporter(email, keyPath, config, doSomething)
}

example()
```

### Export to console
```js
const exporter = require('../lib/index').outputTo
path = require('path')

const email = 'your email' //email account from the user credentials
keyPath = path.join(__dirname, 'your credentials')// path to credentials json or pem
config = {
viewId: "some viewId",//the view id to query
daterange:{
"endDate":"2017-06-30",
"startDate":"2016-06-30"
},
metrics: "ga:users",
dimensions: "ga:date"
}

const example = async () => {
const result = await outputTo.console(email, keyPath, config)
}

example()
```

## TODO

- [x] Retrieve data from google analytics
- [x] Create library
- [x] Create adapter for output console
- [x] Create command line tool console
- [ ] Create adapter logstash
- [ ] Create adapter fluentd
- [ ] Create adapter ES
- [ ] Create command line tool logstash
- [ ] Create command line tool fluentd
- [ ] Create command line tool ES

### Logo
Check out the new logo that I created on LogoMakr.com https://logomakr.com/32f2Md