[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

使用 Node.js 获取 Google Analytics 数据(无 OAuth 身份验证)

你好。
我是Mandai,负责Wild 开发团队。

除了我的日常工作之外,我还(偶尔)为一个由公司内部组建的网络营销团队工作,当我查看 Google Analytics 数据时,我会问自己,“它是上升还是下降?这就是我的观点。”主要工作。

我正在使用 Node.js 通过 API 从 Google Analytics 获取数据并分析数据,但仅仅创建一个程序很困难,所以我想我将向您展示一个示例程序。

我还没有写正文,但我觉得我会花更多的空间在我的 Google 帐户周围的设置上,而不是在程序上。


 

与 Google 帐户相关的设置

 

创建一个项目

https://console.developers.google.com创建项目
或者,如果您有一个现有的项目并且您觉得可以,那也没有问题。

 

启用谷歌API

从“API Manager”中的“库”启用 Google Analytics Reporting API。
但是,此页面上没有链接,因此您需要通过在搜索框中输入“分析报告”之类的内容进行搜索。

 

从凭据创建服务帐户密钥

启用 API 后,从左侧的“凭据”链接创建凭据。

要创建的身份验证信息的类型是“服务帐户密钥”。

为服务帐户指定适当的名称并将角色设置为项目查看者。
(其实我对这个设定不太有信心,如果大家有更好的角色设定,请告诉我!)

“密钥类型”是使用 JSON 创建的。
您将下载一个包含身份验证信息的 JSON 文件,因此请将其保存在安全的地方。
我们稍后会用到它。

 

在 Google Analytics 端注册创建的服务帐户密钥

我以为我已经准备好了,因为我已经创建了一个服务帐户,可以访问启用了 Google Analytics Reporting API 的项目,但实际上还需要一个设置步骤。

https://analytics.google.com页面,转到管理屏幕,并在要从中收集数据的视图的用户管理中注册“服务帐户密钥”。

我在这里有一个问题。

即使创建服务帐户密钥的用户具有相应视图的访问权限,是否也需要注册?

答案当然是肯定的。

我认为 Google 帐户权限结构已被破坏,至少从 Google Analytics 来看,服务帐户密钥被识别为与创建服务帐户密钥的用户不同的用户。

因此,请使用“查看和分析”权限重新注册服务帐户密钥。

注册需要电子邮件地址,但您之前下载的服务帐户密钥 JSON 文件中有一个名为“client_email”的密钥,因此该值将是您的电子邮件地址。

现在您已打开 Google Analytics(分析)屏幕,记下您要从中检索数据的视图的 ID。

这样就完成了 Google Analytics 设置。

 

配置 Node.js

从 npm 安装 googleapis 包。
顾名思义,它是一个用于访问Google API的包,由Google制作。

npm 安装 googleapis

 

如果您只想与 Google Analytics Reporting API 进行通信,则不需要其他包。

 

获取数据

酱汁量不是很多,所以请先检查一下酱汁。

var google = require('googleapis'); var Analytics = google.analyticsreporting('v4'); // 指定服务帐户密钥 JSON 文件 var credential = require('./xxxxxxxx.json');您要获取的 Google Analytics 视图 ID var viewId = 'XXXXXXXXX'; // 目标数据的周期 var startDate = "xxxx-xx-xx"; var endDate = "xxxx-xx-xx"; .JWT(credential.client_email, null, credential.private_key, ["https://www.googleapis.com/auth/analytics.readonly"], null); jwtClient.authorize((error, tokens) => { if (错误){ console.log(错误); }analytics.reports.batchGet({资源:{“reportRequests”:[{“dateRanges”:[{“startDate”:startDate,“endDate”:endDate }],“ viewId": viewId, "dimensions": [ { "name": "ga:pagePath" } ] } ] }, auth: jwtClient }, (error, response) => { if (error){ console.log(error ) ; } 控制台.log(响应) }) });

 

测试需要进行四处更改。

  • 服务帐户密钥 JSON 文件的路径
  • 查看ID
  • 目标数据周期的开始日期
  • 目标数据期的结束日期

只需更改 ,您就可以收集目标时间段内每个 URL 的访问次数数据。

正如我所想,来源并不是什么大不了的事,但我确实花了很多时间来设置 Google 帐户。

 
就是这样。

如果您觉得这篇文章有帮助,请点赞!
1
加载中...
1 票,平均:1.00 / 11
1,453
X Facebook 哈特纳书签 口袋
[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

写这篇文章的人

关于作者

万代洋一

我的主要工作是为社交游戏开发 Web API,但我也很幸运能够做很多其他工作,包括营销。
此外,我在 Beyond 中的肖像权被视为 CC0。