是否可以使用Google Analytics信息显示博客查看计数器

时间:2014-08-05 02:28:55

标签: javascript github google-analytics jekyll google-analytics-api

我在GitHub上使用Jekyll创建了一个静态博客。我为它设置了Google Analytics并且运行良好。

现在我想展示有多少人在我的博客中查看过每个帖子。我找到Google Analytics JavaScript API来获取信息。但似乎此API使用OAuth进行数据访问。所以我认为这可能不是我需要的API。

是否可以使用Google Analytics进行此操作?我没有任何服务器,因为它托管在GitHub上。

2 个答案:

答案 0 :(得分:2)

您无法在未经他人授权的情况下查询Google AnalyticsAPI,这是最重要的事情。

当然可以在您的网站上向无法访问您帐户的用户显示Google Analytics数据,但为了做到这一点,有权访问该帐户的人需要授权并获取访问令牌以运行查询。

通常这是在服务器端完成的,一旦你有了一个有效的访问令牌,你就可以查询API客户端(显示图表和图表等)。访问令牌通常有效期为1小时,因此如果您希望自己的网站一直处于运行状态,您还必须在访问令牌过期后进行刷新。

现在,既然您正在使用Github Pages并且没有后端,这意味着所有授权都需要在客户端进行。虽然技术上可以在客户端和服务器端做同样的事情,但它通常不是一个好主意,因为在客户端密码,刷新令牌等私人数据将在源代码中可见。

执行身份验证客户端的应用程序通常不代表用户进行授权。出于安全原因,他们要求用户自己通过auth流程(正如我刚才所解释的那样),但这意味着那些用户必须登录,2)只能看到他们有权访问的分析数据,这可能是不是你想要的。

-

>您自己定期运行报告并将该数据导出到Google电子表格。 Google Spreadsheets允许您在外部页面中将数据的图表和图表嵌入<iframe>,因此可能是一种选择。

在一天结束时,如果您无法授权服务器端,则必须采取某种解决方法来实现此目的。

以下是一些可能有用的链接,可能会指向正确的方向: https://developers.google.com/analytics/solutions/google-analytics-spreadsheet-add-on https://developers.google.com/analytics/devguides/reporting/embed https://developers.google.com/analytics/solutions/report-automation-magic

答案 1 :(得分:2)

@EikePierstorff的评论中我建议Google Analytics superProxy终于解决了这个问题。

我写了a blog on it

这是主要想法。

我首先在Google App Engile上构建一个项目,我通过该项目对Google Analytics的访问进行身份验证。然后以JSON格式生成查询的URL(可以是某些页面的页面浏览量)。我可以在此GAE项目上设置刷新率,以便可以从Google Analytic更新JSON文件。

听起来几乎完美。谢谢大家的帮助!