如何使用Google Analytics捕获网站API流量数据?

6
我有一个网站,其中大部分流量来自API (http://untiny.com/api/)。我使用Google Analytics收集流量数据,但是由于我无法将Google Analytics的JavaScript代码包含到API页面中,因此统计数据不包括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)之外,我找不到PHP的JavaScript引擎。
问题是:使用JavaScript引擎能解决这个问题吗?还是有另一种方法将API流量包含到Google Analytics中?
4个回答

2
这个问题的普遍性在于,你得到的任何数据都可能非常误导人。很多时候,可能是其他服务器调用你的服务器。当这种情况发生时,服务器的位置并不代表使用它的人的位置,用户代理将是虚假的,而且你无法确定实际使用服务的不同个体数量。没有引荐者,如果有的话,它们可能是假的...等等。在这种情况下,很少有统计数据是有用的。
也许可以制作一个PHP后端来记录IP和其他头信息,这真的是你能做的所有事情。你至少能够追踪API的总调用次数以及它们的来源(尽管再次强调,这些来源可能是服务器,但你可以知道哪些服务器)。

2

1

这是一篇关于如何仅请求GIF文件头的教程,链接为http://icfun.blogspot.com/2008/07/php-get-server-response-header-by.html。希望通过不获取GIF文件本身的内容来减少分析工具对服务器的流量消耗。 - Jason
另一个人尝试进行服务器端分析 :) http://groups.google.com/group/analytics-help-tracking/browse_frm/thread/686570f10449a807/e891d4dd5ddadbda - Jason

0

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

你最好的解决方案要么是使用服务器端分析(如Apache或IIS的服务器日志与Analog、Webalizer或Awstats),要么就是在调用API时将用户代理、请求和IP地址等信息记录在数据库中,因为从API调用中获取的大部分信息都是这些。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接