You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Node.js访问Google Analytics?现有代码报错求助

解决Google Analytics旧库认证失败的问题

嘿,我来帮你搞定这个问题!你遇到的错误核心原因是:你用的googleanalytics库依赖的用户名/密码登录方式早就被Google废弃了。Google在多年前就要求所有访问Analytics API的请求必须使用OAuth 2.0认证,旧的账号密码登录通道已经完全关闭,所以你的代码肯定跑不通。

下面是具体的解决方案:

1. 替换为官方维护的库

放弃那个老旧的googleanalytics包,改用Google官方维护的googleapis(支持传统UA属性)或者@google-analytics/data(适用于GA4属性),这两个库都支持当前的OAuth 2.0认证机制。

准备工作

首先你需要在Google Cloud Console完成以下步骤:

  • 创建一个新的项目,启用对应的API:如果是UA属性,启用「Analytics API」;如果是GA4,启用「Analytics Data API」
  • 创建一个服务账号,下载JSON格式的密钥文件(这个文件要妥善保管,不要泄露)
  • 将这个服务账号的邮箱添加到你的Google Analytics账号中,给它分配「查看者」权限

2. 示例代码(UA属性)

这里用googleapis库来实现你原来的需求:获取指定日期范围内的页面路径和对应的页面浏览量:

const { google } = require('googleapis');
// 替换成你下载的服务账号密钥文件路径
const serviceAccountKey = require('./your-service-account-key.json');

// 初始化OAuth 2.0认证客户端
const authClient = new google.auth.JWT(
  serviceAccountKey.client_email,
  null,
  serviceAccountKey.private_key,
  ['https://www.googleapis.com/auth/analytics.readonly'] // 只读权限足够
);

// 初始化Analytics服务
const analytics = google.analytics('v3');

// 完成认证并请求数据
authClient.authorize(async (authErr) => {
  if (authErr) {
    console.error('认证出错啦:', authErr);
    return;
  }

  try {
    const response = await analytics.data.ga.get({
      auth: authClient,
      ids: 'ga:<你的Profile ID>', // 替换成你的UA属性ID
      'start-date': '2010-09-01',
      'end-date': '2010-09-30',
      dimensions: 'ga:pagePath',
      metrics: 'ga:pageviews',
      sort: '-ga:pageviews' // 这里我改成了按页面浏览量降序,如果你确实要按pagePath降序可以改回'-ga:pagePath'
    });

    console.log('拿到的数据:', JSON.stringify(response.data, null, 2));
  } catch (dataErr) {
    console.error('获取数据失败:', dataErr);
  }
});

3. 额外说明

  • 如果你的Analytics属性是GA4,需要使用@google-analytics/data库,API接口和UA略有不同,但认证逻辑一致
  • 旧的googleanalytics库已经多年没有更新,完全不兼容当前的Google API规则,没有继续使用的价值
  • 确保服务账号已经被正确添加到你的Analytics账号中,否则会出现权限不足的错误

内容的提问来源于stack exchange,提问作者Ashutosh Jha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:18:09