python - RESTful API 和谷歌分析

标签 python rest google-analytics flask

我正在使用 Python ( Flask ) 运行 RESTful API

我希望能够追踪:

  • 提出了哪些要求
  • 这些请求是什么时候发生的
  • 发送响应需要多长时间

我想为此使用 Google Analytics,因为它的仪表板和扩展功能不错。

我的问题

如何将 Google Analytics(分析)实现到 REST API 中?
或者有人知道可以实现的另一个工具/库吗?

这是我目前发现的:

最佳答案

实际上有两种方法可以将服务器端数据发送到 Google Analytics(分析)。标准方法是 GIF 图像请求 API,它与 ga.js 在客户端使用的 API 相同。谷歌已经开始开发一种新的 REST API,称为 Measurement Protocol,但这只是开发者预览版。

服务器端 GA

尝试将服务器端数据发送到 GA 时需要解决一些问题。

就像@mehaase 上面指出的那样,gif API 从请求中获取 IP 地址,因此您所有的服务器端请求都将显示为来自您服务器位置的用户。测量协议(protocol)doesn't let you change the request's ip任何一个。我将在这个答案中假定公开可用的 gif API。

另一个问题是 gif 端点需要客户端 cookie。您可以在每次请求时伪造此 cookie,但这会使每个事件看起来像新访客。只要您将服务器端 API 和网站保存在单独的 Google Analytics 配置文件中就可以了。

另请注意,在您发送事件后,Google 最多可能需要一个小时才能显示您的事件。这会使调试变得有点痛苦,所以请耐心等待。

这是 what each variable in the GA cookie means 的分割, 和一个 good node.js example将服务器端数据发送到 GA。

其他事件跟踪选项

尽管 GA 非常适合跟踪网站指标,但它并不是为跟踪服务器端事件而构建的。称为事件跟踪的一类分析是用于跟踪 restful API 使用情况的完美应用程序。

API 通常是这样的:

analytics.track('API Response', {
    method  : 'POST',
    endpoint: '/comments'
    duration: 124
    status  : 500
});

并让您查看有关每个事件和事件属性的频率和分布的报告。您可以回答以下问题:今天发生了多少/comments API 调用? 200s有多少?有多少人的响应时间超过 200 毫秒?等

这里有一些事件跟踪工具可以帮助您做到这一点:

  1. Mixpanel
  2. KissMetrics
  3. Keen.IO

我是 Segment.io 的联合创始人,一家为客户端、服务器端和移动分析提供简单 API 的公司。我们允许您从 python、php、ruby、node、java、.net、javascript 和 iOS 发送数据,我们会将其转发到 Google Analytics、Mixpanel、KissMetrics、Keen.IO 或我们任何其他支持的服务,而无需你必须学习他们的 API。

最后,这是来 self 们 analytics academy 的一篇文章这解释了为什么事件跟踪很有用。

关于python - RESTful API 和谷歌分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15530487/

相关文章:

python - 如何删除 numpy.array 中的列

python - Django Rest Framework关系属性错误

java - 如何编写客户端从Rest Web服务获取数据和图像文件

python - 当我想要输入 5 的 'True' 时打印“无”

python - 机器学习和支持向量机

java - jetty 服务器中的 REST 和静态内容

api - Backbone.sync – 使用 ajax 以及 Socket.IO/WebSockets 的集合

android - 将 Google Analytics 与 Robolectric(或 "Trying to use SQLite3 in Robolectric")一起使用时出现 SQLException

google-analytics - 如何在谷歌分析中更改网站网址路径?

javascript - 当页面加载为 iFrame 时禁用 GTM 标记触发