非官方 Fathom Analytics API
发布日期:作者: Eric L. Barnes
Fathom Analytics 是一款注重隐私的分析工具,几个月前我们决定将其替换掉 Google Analytics,结果很不错。Laravel News 上的一个功能是 “最受欢迎文章” 部分,但由于 Fathom 尚未正式发布其 API,因此我们无法使用 Fathom 复制该功能,不过该功能即将发布。
Marcel Pociot 与 Beyond Code 共同开发了一个新的 “非官方 Fathom API”,允许您获取统计数据并构建所需的功能以及其他许多功能。以下是开始使用此新软件包的方法。
安装 Fathom API
composer require beyondcode/fathom-api
获取您的网站 ID
为了提取数据,您需要您的网站 ID,您可以通过运行以下代码找到它
$analytics = new BeyondCode\FathomAnalytics\FathomAnalytics($email, $pass);$sites = $analytics->getSites();dd($sites);
在浏览器中加载此代码后,您将获得一个包含所有已注册 Fathom 帐户的网站的数组,然后可以获取网站 ID 用于其他 API 调用。
获取热门页面列表
为了创建热门页面列表,您可以调用 getData
方法,并传递 Carbon 对象作为开始日期和结束日期
$analytics = new BeyondCode\FathomAnalytics\FathomAnalytics($email, $pass);$data = $analytics->getData($siteId, Carbon::now()->startOfMonth());dd($data);
如您所见,这将为您提供帐户中所有数据的数组,您可以从中提取最热门的页面
foreach ($data->page_stats as $page) { echo '<li>'.$page->pathname.' - '.$page->views.'</li>';}
当然,您需要对结果进行大量缓存,这样就不会发出过多请求。
这只是该软件包功能的皮毛,它是一个非常小的软件包,利用了 Symfony 的 HttpBrowser、DomCrawler 和 HttpClient 来获取数据。查看 核心类文件 了解其工作原理。