Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/blackboxvision/gatsby-source-analytics-most-read-posts

:rocket: Get your most read Posts from Google Analytics Reporting API.
https://github.com/blackboxvision/gatsby-source-analytics-most-read-posts

gatsby gatsby-plugin library nodejs react

Last synced: about 1 month ago
JSON representation

:rocket: Get your most read Posts from Google Analytics Reporting API.

Awesome Lists containing this project

README

        

# Gatsby Source for Most Read Posts from Google Analytics [![npm version](https://badge.fury.io/js/%40blackbox-vision%2Fgatsby-source-google-analytics-api-most-read-posts.svg)](https://badge.fury.io/js/%40blackbox-vision%2Fgatsby-source-google-analytics-api-most-read-posts) [![License: MIT](https://img.shields.io/badge/License-MIT-brightgreen.svg)](https://opensource.org/licenses/MIT) [![Known Vulnerabilities](https://snyk.io/test/github/blackboxvision/gatsby-source-analytics-most-read-posts/badge.svg)](https://snyk.io/test/github/blackboxvision/gatsby-source-analytics-most-read-posts)

Get your most read Posts from Google Analytics Reporting API.

## Install

You can install this library via NPM or YARN.

### NPM

```bash
npm i @blackbox-vision/gatsby-source-google-analytics-api-most-read-posts
```

### YARN

```bash
yarn add @blackbox-vision/gatsby-source-google-analytics-api-most-read-posts
```

## Config

In your `gatsby-config.js`:

```javascript
{
resolve: `@blackbox-vision/gatsby-source-google-analytics-api-most-read-posts`,
options: {
viewId: `115350264`,
email: `[email protected]`,
secretKey: `yourSecretAPIKey`,
maxResults: 10,
filters: 'ga:pagePath!@/tag/;ga:pagePath!@/page/;ga:pagePath!=/;ga:pageTitle!=(not set);ga:pagePath!@&',
dates: {
from: 'today',
to: '2019-01-01'
}
}
}
```

## Supported Options

| Properties | Types | Default Value | Description |
| ---------- | ------ | ------------- | ---------------------------------------------------------------- |
| viewId | string | none | Your viewId for your Google Analytics property. |
| email | string | none | The email generated from the Google API Console. |
| secretKey | string | none | The PEM certificate generated from the Google API Console. |
| maxResults | number | 3 | Total results to get from the source. |
| filters | string | '' | Filters for data from Google Analytics. |
| dates.from | string | 'today' | A date formatted string or an string representing time relation. |
| dates.to | string | '2019-01-01' | A date formatted string or an string representing time relation. |

## Example Usage

```javascript
import React from 'react';
import { StaticQuery, graphql } from 'gatsby';

const gplQuery = graphql`
query GetAllMostReadPosts {
allMostReadPosts {
nodes {
totalViews
title
url
}
}
}
`;

export const MostReadPosts = () => (

posts.map((post, idx) => (



{post.title}




))
}
/>
);

MostReadPosts.displayName = 'MostReadPosts';
```

## Issues

Please, open an [issue](https://github.com/BlackBoxVision/gatsby-source-analytics-most-read-posts/issues) following one of the issues templates. We will do our best to fix them.

## Contributing

If you want to contribute to this project see [contributing](https://github.com/BlackBoxVision/gatsby-source-analytics-most-read-posts/blob/master/CONTRIBUTING.md) for more information.

## License

Distributed under the **MIT license**. See [LICENSE](https://github.com/BlackBoxVision/gatsby-source-analytics-most-read-posts/blob/master/LICENSE) for more information.