reactjs 从Google Analytics API获取日期

k3bvogb1  于 2023-04-29  发布在  React
关注(0)|答案(2)|浏览(183)

我正试图从谷歌分析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。
谢谢你的时间

mrphzbgm

mrphzbgm1#

从您的requestBody中,我看到您仅请求指标,因此您将获得整个选定期间的聚合数据。
您还应该输入date维度,以便按所需范围内的日期对值进行细分。

sxissh06

sxissh062#

谢谢Michele Pisani回答这个问题。
我已经找到了一个非常有用的网站,显示哪些值可用
https://ga-dev-tools.google/ga4/query-explorer/
是的,我需要加上这个

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

我的请求身体。
谢谢!

相关问题