Действия Google Analytics, чтобы получить количество просмотров на страницу из API - PullRequest
0 голосов
/ 21 ноября 2018

Я хочу начать где-нибудь.Это мой вариант использования.

  1. У меня есть restAPI, написанный на node.js express framework.
  2. У меня есть мобильное приложение, написанное на react native.
  3. Также у меня есть веб-приложение для администрирования мобильного приложения, написанное на Vue.js

Мобильное приложение - приложение для еды .Где вы можете искать рестораны или блюда ресторана.

Я хочу передать идентификатор ресторана и получить вид ресторана из приложения за последние 7 дней.Довольно прямое требование.Но сложно реализовать.Поскольку я не знаю, с чего начать.

Я просмотрел документы и обнаружил, что существует 7 API.

  1. Базовый API отчетности
  2. API управления
  3. Встроенный API
  4. Пользовательский API удаления
  5. Многоканальный API отчетности
  6. API реального времени
  7. API метаданных

В конце дня я хотел бы сделать что-то похожее с API.

showMeTheView(restaurant_id)

Также, если я хочу передать дополнительный параметр, чтобы получить только количество просмотров за последний месяц.

showMeTheViews(restaurant_id, last_month)

Я не могу понять, каковы основные шаги для выполнения моего требования?

Что нужно сделать в приложении Reaction-native?Что нужно сделать в веб-приложении vue.js?Что нужно сделать между этими двумя?

1 Ответ

0 голосов
/ 21 ноября 2018

Прежде всего, вы должны использовать Базовый API отчетности . Это API, который можно использовать для извлечения данных из аналитики Google.Объект Json, используемый для извлечения данных из Google Analytics, довольно обширный batch get

. Это сделает вашу жизнь намного проще, если вы используете клиент Google apis node.js libray код извлечен из найденного образца здесь

'use strict';

const {google} = require('googleapis');
const sampleClient = require('../sampleclient');

const analyticsreporting = google.analyticsreporting({
  version: 'v4',
  auth: sampleClient.oAuth2Client,
});

async function runSample() {
  const res = await analyticsreporting.reports.batchGet({
    requestBody: {
      reportRequests: [
        {
          viewId: '65704806',
          dateRanges: [
            {
              startDate: '2018-03-17',
              endDate: '2018-03-24',
            },
            {
              startDate: '14daysAgo',
              endDate: '7daysAgo',
            },
          ],
          metrics: [
            {
              expression: 'ga:users',
            },
          ],
        },
      ],
    },
  });
  console.log(res.data);
  return res.data;
}

// if invoked directly (not tests), authenticate and run the samples
if (module === require.main) {
  const scopes = ['https://www.googleapis.com/auth/analytics'];
  sampleClient
    .authenticate(scopes)
    .then(runSample)
    .catch(console.error);
}

// export functions for testing purposes
module.exports = {
  runSample,
  client: sampleClient.oAuth2Client,
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...