【问题标题】:How to capture a website API traffic data with Google Analytics?如何使用 Google Analytics 捕获网站 API 流量数据?
【发布时间】:2010-11-07 11:13:51
【问题描述】:

我有一个网站,其中大部分流量来自 API (http://untiny.com/api/)。我使用 Google Analytics 收集流量数据,但是统计数据不包括 API 流量,因为我无法将 Google Analytics javascript 代码包含到 API 页面中,并且包含它会影响 API 结果。 (例如:http://untiny.com/api/1.0/extract/?url=tinyurl.com/123)。

解决方案可能是使用 javascript 引擎执行 javascript。我搜索了stackoverflow并找到了Java和C的javascript引擎/解释器,但除了旧的“J4P5”http://j4p5.sourceforge.net/index.php

问题:使用javascript引擎会解决问题吗?或者还有其他为什么要将 API 流量包含到 Google Analytics 中?

【问题讨论】:

    标签: php javascript api google-analytics


    【解决方案1】:

    您可能必须使用您使用的任何编程语言来模拟服务器端的所有 http 调用.....但这不会为您提供有关谁在使用它的信息,除非 untiny 通过某种方式提供客户端信息标题。

    如果您想纯粹出于统计目的包含它,如果您在服务器端检测到 untiny,可以尝试使用 curl(如果使用 php)访问 gif 文件

    http://code.google.com/apis/analytics/docs/tracking/gaTrackingTroubleshooting.html#gifParameters

    【讨论】:

    【解决方案2】:

    您不能轻易做到这一点,因为最终用户不会运行基于 Javascript 的 Google Analytics(分析)脚本(当然,除非他们将您的 API 输出准确地包含在向最终用户显示的内容中:这样就不需要对于一个成熟的 API [你可以只提供一个 iframe 代码],可能会带来安全风险,并且可能会违反浏览器跨域 javascript 检查)。

    您最好的解决方案是使用服务器端分析(例如 Apache 或 IIS 的带有 Analog、Webalizer 或 Awstats 的服务器日志)或 - 因为您从 API 调用中获得的大部分信息将是用户代理、请求和 IP地址 - 只需在调用 API 时将该信息记录在数据库中。

    【讨论】:

      【解决方案3】:

      一般来说,一个简单的问题是,您获得的任何数据都可能非常具有误导性。

      很多时候可能是其他服务器调用您的服务器。当这是真的时,服务器的位置绝不代表使用它的人的位置,用户代理将是假的,您无法分辨有多少不同的人实际使用该服务。没有推荐人,如果有,他们可能是假的……等等。在这种情况下,没有多少统计数据是有用的。

      也许制作一个记录 IP 和其他标头信息的 PHP 后端,这就是你所能做的。您至少能够跟踪对 API 的总调用,以及它们的来源(尽管同样,可能来自服务器,但您可以分辨出哪些服务器)。

      【讨论】:

        【解决方案4】:

        我花了很长时间研究这个,终于找到了一个看起来很完美的开源项目,虽然完全不为人知。

        http://code.google.com/p/serversidegoogleanalytics/

        将报告结果。

        【讨论】:

          猜你喜欢
          • 2012-09-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-07-31
          • 1970-01-01
          • 1970-01-01
          • 2011-06-01
          相关资源
          最近更新 更多