当前位置: 首页 > 后端技术 > Node.js

在NodeJs中使用GoogleAnalytics(谷歌分析)API获取网站浏览数据报告

时间:2023-04-03 15:53:34 Node.js

google-analytics-node1。注册GoogleAnalytics注意:以下操作基本都需要翻墙,请自备梯子。登录您的Google账户,注册GoogleAnalytics,然后设置您自己的账户基本信息,获取trackingId并同意该协议。2.将GoogleAnalytics代码添加到网站。登录后,会有一个站点范围的跟踪代码。将带有跟踪ID的代码复制到您的项目中。入门在您的网站上安装跟踪代码示例安装跟踪代码后,您可以发布您的网站,您可以在此管理后台查看您的网站访问数据。本文结束:)等等,我只是在开玩笑。以上只是基本操作。完成以上操作后,您还可以继续下面的步骤,这样您的本地服务就可以获取到GoogleAnalytics的数据了。3.ViewGoogleAPI如果你想在你的网站上显示这些数据,并且每次只使用你自己的本地登录后台查看,如何实现呢?戳这里谷歌提供了api接口供你自由配置指标查询你的网站访问数据,并提供各种客户端库的查询支持。4.本文使用的后台技术为NodeJs,采用express框架+redis技术实现。项目目录结构,项目代码放在github上,适当修改配置,安装依赖,即可应用于自己的网站。├──README.md├──app│├──config││├──index.js//配置文件││└──key.json//查询api的jwt验证key│├──controllers││└──google.analytics.js//获取数据的Api│├──middleware││└──redis.middleware.js//使用redis作为中间存储│├──routes││├──google.js//路由文件││└──index.js│└──utils│└──index.js//Widgets├──app.js├──index.js├──package-lock.json└──在package.json项目中,使用了官方的nodejsapinpm包googleapis。使用redis的部分是缓存access_token和一些数据。目前部分接口的数据缓存23小时(不想频繁请求接口)。5.配置你的个人项目项目中需要配置的地方,首先是数据视图id,在创建账户时生成,在账户管理的数据视图中可以看到,点击数据视图设置,可以获取数据视图idviewId:'ga:yourdataviewid'第一步:设置key打开Goog??leapi控制台,先创建一个项目,然后点击EnableAPI,搜索googleanalytics,启用GoogleAnalyticsReportingAPI,然后启用AnalyticsAPI。Step2:Createcredentials然后创建凭证,点击Credentials-->CreateCredentials-->SelectServiceAccountKey-->选择一个新的服务账户,并设置角色,输入名称,点击Create,保存你的密钥文件.将这个key复制到项目的app/config目录下,改名为key.json。第三步:为该账号添加访问数据的权限打开注册了GoogleAnalytics的数据控制台(注册时可以查看数据的那个),点击管理-->媒体资源-->用户管理-->添加新用户,输入api控制台的凭证-->列表上角管理服务账号,复制服务账号id,粘贴到邮箱地址栏,设置权限(只能设置阅读权限和分析)。这个控制台还可以设置过滤规则和白名单等,有需要的可以研究学习。在这一点上,你就完成了。转到您的网站并单击。如果在GoogleAnalytics的数据控制台可以看到数据,可以启动我的项目文件,调用api接口获取json数据。ps:在这个api参考中,你可以随意设置你想要的数据,只需要修改demo接口即可。项目路由文件注释router.get('/userChart',...);//用户浏览数据router.get('/cityChart',...);//用户国家地区分布router.get('/deviceChart',...);//用户设备分布router.get('/pageViewData',...);//单页访问统计router.get('/pageTimeData',...);//24hours访问次数统计router.get('/pageAreaData',..);//面积统计//可以自由设置更多数据使用gitclonegit@github.com:zangse/google-analytics-node.gitcdgoogle-analytics-node//替换key、viewId和端口号(xxx)npminstallnodeindex.js//在浏览器中访问http:localhost:xxx/api/google/userChart6.本地测试和线上部署目前由于被墙,google服务无法访问,我的本地数据,是用一个工具给node进程开了一个代理。(Mac端Proxifier)在线部署也需要解决被墙的问题。最好将这个小项目托管在可以访问谷歌服务的服务器上。至于文章开头的图表,来自于接口返回的数据,前端处理后echart展示的结果。如有疑问,您可以在项目中提出问题。如有遗漏或错误,敬请指正。欢迎来到我的个人开发笔记和github