1.0.1 • Published 4 years ago

@blackbox-vision/gatsby-source-google-analytics-api-most-read-posts v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

Gatsby Source for Most Read Posts from Google Analytics npm version License: MIT Known Vulnerabilities

Get your most read Posts from Google Analytics Reporting API.

Install

You can install this library via NPM or YARN.

NPM

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

YARN

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

Config

In your gatsby-config.js:

{
    resolve: `@blackbox-vision/gatsby-source-google-analytics-api-most-read-posts`,
    options: {
        viewId: `115350264`,
        email: `example@domain.com`,
        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

PropertiesTypesDefault ValueDescription
viewIdstringnoneYour viewId for your Google Analytics property.
emailstringnoneThe email generated from the Google API Console.
secretKeystringnoneThe PEM certificate generated from the Google API Console.
maxResultsnumber3Total results to get from the source.
filtersstring''Filters for data from Google Analytics.
dates.fromstring'today'A date formatted string or an string representing time relation.
dates.tostring'2019-01-01'A date formatted string or an string representing time relation.

Example Usage

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

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

export const MostReadPosts = () => (
  <StaticQuery
    query={gplQuery}
    render={({ allMostReadPosts: { nodes: posts } }) =>
      posts.map((post, idx) => (
        <div key={idx}>
          <a href={post.url}>
            <h2>{post.title}</h2>
          </a>
        </div>
      ))
    }
  />
);

MostReadPosts.displayName = 'MostReadPosts';

Issues

Please, open an issue 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 for more information.

License

Distributed under the MIT license. See LICENSE for more information.