如何使用 Google Analytics 数据 API

2025-06-07

如何使用 Google Analytics 数据 API

在本文中,我将以尽可能简单的方式向您讲解如何使用Google Analytics Data API从Google Analytics获取数据。读完本文后,您将能够轻松地在项目中使用它。事不宜迟,让我们开始吧。

在我的作品集中,我刚刚实现了Google Analytics 数据 API,这样我就可以显示过去 7 天内有多少人访问过这个网站。由于我的作品集中已经使用了 Google Analytics 来跟踪用户访问情况,我只需要使用它的 API 来获取这些数据即可。

但首先,看看它在我的投资组合中是如何表现的:

要求

我们需要三个值来获取数据:

  • GA_PROPERTY_ID
  • GA_CLIENT_EMAIL
  • GA_PRIVATE_KEY

GA_PROPERTY_ID

首先,您需要获取GA_PROPERTY_ID要从中获取数据的 Google Analytics 项目。

为此,您需要遵循以下步骤:

  • 访问Google Analytics
  • 选择管理员。
  • 选择属性。
  • 选择属性设置。

如果属性设置显示诸如“123...”之类的数字PROPERTY ID,那么这就是您的 Google Analytics 4 属性的数字 ID。

GA_CLIENT_EMAILGA_PRIVATE_KEY

要获取GA_CLIENT_EMAILGA_PRIVATE_KEY您需要访问 Google Analytics Data API 的文档,然后单击启用 Google Analytics Data API v1按钮,如下图所示:

然后会提示你输入项目名称。输入名称后,点击“下一步”按钮

然后系统将提示您将凭证文件下载为 JSON。

下载该文件后,您将在该 JSON 文件中找到private_keyclient_email属性。将这两个保存在您的.env.local.

现在您已拥有所有必要的信息或密钥。

安装依赖项

要获取数据,您需要安装@google-analytics/data包。只需在终端中运行以下命令即可。



yarn add @google-analytics/data
# or 
npm i @google-analytics/data
# or
pnpm i @google-analytics/data


Enter fullscreen mode Exit fullscreen mode

在项目中使用 Google Analytics 数据 API

由于我的作品集使用了Next.js ,因此我将使用Next.js API Routes。您可以使用不同的框架执行相同的操作。

我将创建一个 API 路由pages/api/ga.ts



import { NextApiRequest, NextApiResponse } from "next";
import { BetaAnalyticsDataClient } from "@google-analytics/data";

// 👇 Setting PropertyId
const propertyId = process.env.GA_PROPERTY_ID;

const analyticsDataClient = new BetaAnalyticsDataClient({
  credentials: {
    client_email: process.env.GA_CLIENT_EMAIL,
    private_key: process.env.GA_PRIVATE_KEY?.replace(/\n/gm, "\n"), // replacing is necessary
  },
});

export default async function handler(
  _req: NextApiRequest,
  res: NextApiResponse
) {
  // 👇 Running a simple report
  const [response] = await analyticsDataClient.runReport({
    property: `properties/${propertyId}`,
    dateRanges: [
      {
        startDate: `7daysAgo`, //👈  e.g. "7daysAgo" or "30daysAgo"
        endDate: "today",
      },
    ],
    dimensions: [
      {
        name: "year", // data will be year wise
      },
    ],
    metrics: [
      {
        name: "activeUsers", // it returs the active users
      },
    ],
  });

  // Returning the respose.
  return res.status(200).json({
    response,
  });
}


Enter fullscreen mode Exit fullscreen mode

答案是:



{
  "data": {
    "dimensionHeaders": [
      {
        "name": "year"
      }
    ],
    "metricHeaders": [
      {
        "name": "activeUsers",
        "type": "TYPE_INTEGER"
      }
    ],
    "rows": [
      {
        "dimensionValues": [
          {
            "value": "2023",
            "oneValue": "value"
          }
        ],
        "metricValues": [
          {
            "value": "357",
            "oneValue": "value"
          }
        ]
      }
    ],
    "totals": [

    ],
    "maximums": [

    ],
    "minimums": [

    ],
    "rowCount": 1,
    "metadata": {
      "dataLossFromOtherRow": false,
      "currencyCode": "USD",
      "_currencyCode": "currencyCode",
      "timeZone": "America/Los_Angeles",
      "_timeZone": "timeZone"
    },
    "propertyQuota": null,
    "kind": "analyticsData#runReport"
  }
}


Enter fullscreen mode Exit fullscreen mode

这就是你获取数据所需的全部内容。它会返回响应。我的投资组合代码可以在GitHub上找到,你可以查看我的使用方法。

您可以使用维度和指标来获取所需的数据。

总结

在本文中,我解释了如何使用 Google Analytics 数据 API 从 Google Analytics 获取数据。阅读完本文后,您现在应该能够轻松地在项目中实现此 API。

如果你喜欢这篇文章,别忘了点赞❤️并收藏🏷️以便日后使用。如果你有任何问题或反馈,欢迎在下方评论区留言。下篇文章见。

与我联系

叽叽喳喳 GitHub LinkedIn Instagram 网站 通讯 支持
文章来源:https://dev.to/j471n/how-to-use-google-analytics-data-api-2133
PREV
CodeGlossary 简介:您的编程术语资源 CodeGlossary
NEXT
使用 CSS 进行创意悬停菜单