Google 分析
此接口用于代理 Google 分析提供的 API 来获取每个路径下的阅读量,建议自行部署,不然只能获得我博客的访问数据(
啊喂,那这样的 API 还有啥用啊?)。可以先参考官方教程来启用 API。需要获取后缀为 JSON 的凭据文件放在部署的根目录下。
接口地址:https://api.itswincer.com/gaviews/v1/
获取访问量
GET /gaviews/v1/
| 参数 | 含义 |
|---|---|
| prefix | 网址 URL 的前缀 |
curl "https://api.itswincer.com/gaviews/v1/?prefix=/posts/7a2a84c6/"
{"details":[{"path":"/posts/8575e868/","count":1300},{"path":"/posts/8575e868/?tdsourcetag=s_pctim_aiomsg","count":1}],"total":1301}
缓存
在测试 API 的时候我发现两个问题:
- 基于 Redis 的限流有些不合理,因为是自用的 API;
- 调用一次 Google Analytics 的 API 查询延迟在 250MS 左右,这里并非是网络延迟,我是用 LA 的服务器测的(我也不知道为什么这么慢,毕竟只是一个很简单的查询语句😓。
因此我决定在 Cloudflare 的层面(而非浏览器层面)为此 API 做为期两小时的缓存,即:任何人发起的相同查询均会保持两个小时缓存,期间无论网页是否有新访客,该 API 均会返回相同的数据。