【问题标题】:Google analytics steps to get number of views per page from an API谷歌分析步骤从 API 获取每页的浏览次数
【发布时间】:2018-11-21 09:58:39
【问题描述】:

我想从某个地方开始。 这是我的用例。

  1. 我有一个用node.jsexpress framework.写的restAPI
  2. 我有一个用react native编写的移动应用程序。
  3. 我还有一个用于管理移动应用程序的 Web 应用程序,用 Vue.js 编写

移动应用是食物应用。您可以在哪里搜索餐厅或餐厅的菜肴。

我想通过 餐厅 id 并获取该应用在过去 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)

我不知道实现我的要求的基本步骤是什么?

在 react-native 应用中需要做什么? 在 vue.js 网页应用中需要做什么? 这两者之间需要做些什么?

【问题讨论】:

    标签: node.js google-analytics google-api google-analytics-api


    【解决方案1】:

    首先,您应该使用Core reporting api,这是可用于从 Google 分析中提取数据的 API。用于从谷歌分析中提取数据的 Json 对象相当广泛 batch get

    如果您使用Google apis node.js client libray,您的生活会轻松很多 从找到的样本中提取的代码here

    '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,
    };
    

    【讨论】:

    • 我知道我需要使用核心报告API。我需要使用 node.js 客户端库吗?我想从 GA 获取数据并显示在我的 vue.js 前端。我不需要将它们存储在任何地方。所以出于这个原因,我需要那个客户端库吗?这个视图 ID 是什么?
    • 请记住,这只是为了获取数据,您必须自己弄清楚要如何格式化。是的,存储它是一个好主意,因为没有理由两次发出相同的请求,旧数据不会改变。视图 ID 是您希望从中请求数据的 Google 分析视图的 ID。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多