从谷歌分析 API 获取日期

问题描述 投票:0回答:2

我正在尝试从谷歌分析 api 检索的数据中获取个人日期。 我正在尝试模仿谷歌分析应用程序的功能。

例如,谷歌分析应用程序有一个折线图,如果日期范围是 4 月 20 日至 25 日,用户总数为 4,则表明 22 日有 2 个用户,27 日有 2 个用户。等等……

但是当我使用 api 检索数据时

 const url = `https://analyticsdata.googleapis.com/v1beta/properties/${propertyId}:runReport`;

  const requestBody = {
    metrics: [
      {
        name: 'activeUsers',
      },
      {
        name: 'bounceRate',
      },
      {
        name: 'averageSessionDuration',
      },
      {
        name: 'engagedSessions',
      },
      {
        name: 'eventCount',
      },
      {
        name: 'eventsPerSession',
      },
      {
        name: 'screenPageViewsPerSession',
      },
      {
        name: 'sessions',
      },
      {
        name: 'sessionsPerUser',
      },
      { name: 'totalUsers' },
    ],
    dateRanges: [
      {
        startDate: startDate,
        endDate: endDate,
        name: 'date_range',
      },
    ],
  };
 const response = await axios.post(url, requestBody, requestOptions);

数据返回这个

{
    "metricHeaders": [
        {
            "name": "activeUsers",
            "type": "TYPE_INTEGER"
        },
        {
            "name": "bounceRate",
            "type": "TYPE_FLOAT"
        },
        {
            "name": "averageSessionDuration",
            "type": "TYPE_SECONDS"
        },
        {
            "name": "engagedSessions",
            "type": "TYPE_INTEGER"
        },
        {
            "name": "eventCount",
            "type": "TYPE_INTEGER"
        },
        {
            "name": "eventsPerSession",
            "type": "TYPE_FLOAT"
        },
        {
            "name": "screenPageViewsPerSession",
            "type": "TYPE_FLOAT"
        },
        {
            "name": "sessions",
            "type": "TYPE_INTEGER"
        },
        {
            "name": "sessionsPerUser",
            "type": "TYPE_FLOAT"
        },
        {
            "name": "totalUsers",
            "type": "TYPE_INTEGER"
        }
    ],
    "rows": [
        {
            "metricValues": [
                {
                    "value": "4"
                },
                {
                    "value": "0.6"
                },
                {
                    "value": "29.2088052"
                },
                {
                    "value": "2"
                },
                {
                    "value": "45"
                },
                {
                    "value": "9"
                },
                {
                    "value": "4.2"
                },
                {
                    "value": "5"
                },
                {
                    "value": "1.25"
                },
                {
                    "value": "4"
                }
            ]
        }
    ],
    "rowCount": 1,
    "metadata": {
        "currencyCode": "USD",
        "timeZone": "Etc/GMT-3"
    },
    "kind": "analyticsData#runReport"
}

所以它只显示总计而没有明确显示用户何时活跃。

我是否缺少参数,或者根本不可能获得这些日期?

顺便说一下,我正在尝试获取新的 GA4 跟踪 ID。

谢谢你的时间

reactjs react-native api google-analytics google-analytics-api
2个回答
1
投票

从您的requestBody我看到您只请求指标,因此您正在获取整个选定时期的汇总数据。

您还应该输入

date
维度以在所需范围内按日期细分值。


0
投票

谢谢 Michele Pisani 回答问题。

我发现了一个非常有用的网站,它显示了哪些值可用

https://ga-dev-tools.google/ga4/query-explorer/

是的,我需要添加这个

 dimensions: [
      {
        name: 'date',
      },
    ],

致我的请求体。

谢谢!

© www.soinside.com 2019 - 2024. All rights reserved.