Node.js에서 Google 애널리틱스 PV 수 얻기

준비



  • Google Developer Console 방문.
  • 왼쪽의 '라이브러리'에서 'Google Analytics Reporting API'를 선택하여 활성화합니다.
  • 왼쪽의 [인증 정보] > [인증 정보 작성] > [서비스 계정 키]를 선택합니다.
  • 서비스 어카운트명, 서비스 어카운트 ID를 적당히 입력, 키의 타입은 JSON을 선택, 역할은 「Project」 > 「열람자」를 선택해, 「만들기」를 누르면 JSON 파일이 생성된다.

  • Google Analytics 에 접속해, JSON내에 있는 「client_email」을 표시·분석 권한을 부여해 등록.

  • 코드 만들기



    적당히 Node의 프로젝트를 작성해, npm install --save googleapis 를 실행.
    googleapis 참조를 참조하면서 아래 코드를 작성합니다. 지표에는 ga:pageviews를 지정합니다.

    app.js
    const {GoogleApis} = require('googleapis');
    const google = new GoogleApis();
    var analytics = google.analyticsreporting('v4');
    var credential = require('./XXXXXXXX.json');        //準備時に生成したJSONファイルを指定
    var viewId = 'XXXXXXXXX';                           //GoogleAnalyticsのビューidを指定
    var startDate = "2018-01-01";                       
    var endDate = "2018-04-01";
    
    var jwtClient = new google.auth.JWT(credential.client_email, null, credential.private_key, ["https://www.googleapis.com/auth/analytics.readonly"], null);
    
    jwtClient.authorize((error, tokens) => {
        if (error) {
            console.log(error);
            return;
        }
        analytics.reports.batchGet({
            resource: {
                "reportRequests": [
                    {
                        "dateRanges": [
                            {
                                "startDate": startDate,
                                "endDate": endDate
                            }
                        ],
                        "viewId": viewId,
                        "dimensions": [
                            {
                                "name": "ga:pagePath"
                            }
                        ],
                        "metrics": [
                            {
                                "expression": "ga:pageviews"
                            }
                        ],
                    }
                ]
            },
            auth: jwtClient
        }, (error, response) => {
            if (error) {
                console.log(error);
            }
            const pv = response.data.reports[0].data.rows[0].metrics;
            console.log('pv');
            console.log(pv);
        });
    });
    

    실행


    node app.js 로 실행하면 아래와 같은 로그가 출력된다.


    Google Analytics에서도 일단 확인.

    로그의 값과 페이지뷰 수가 일치하는 것으로부터, 올바르게 값을 취득할 수 있는 것을 확인.

    참고



    htps : // 기주 b. 코 m / go g / go g ぇ - api - js-c ぃ t
    ㅡtp //베욘 d쟈판. 이 m / b / g / 2017 / 04 / Get-Go-g-Ana ly chi cs-data-by-by js

    좋은 웹페이지 즐겨찾기