当尝试通过API发送跟踪数据时,Piwik返回400错误请求

时间:2014-04-24 21:14:08

标签: java analytics matomo

我正在开发一个应用程序,我计划将Piwik Analytics实施到。虽然似乎没有关于如何使用Java Tracking API(this one)的真实文档(除非我是盲目的),但我认为我设法弄明白了,但是当我尝试它时,我得到了这个错误

WARNING: Warning:400 Bad Request
org.piwik.PiwikException: error:400 Bad Request
at org.piwik.SimplePiwikTracker.sendRequest(SimplePiwikTracker.java:878)
at test.Main.main(Main.java:32)

这是我的代码:

SimplePiwikTracker tracker = new SimplePiwikTracker("http://example.com/piwik/piwik.php");
tracker.setIdSite(2);
tracker.setPageUrl("http://example.com/javatest/test");
tracker.setPageCustomVariable("test", "10");

//This is line 32
tracker.sendRequest(tracker.getLinkTrackURL("http://example.com/piwik/piwik.php"));

我也试过这个:

String datURL = tracker.getLinkTrackURL("http://example.com/piwik/piwik.php").toString();
URL url = new URL(datURL);          
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
System.out.println(connection.getResponseCode());
connection.disconnect();

但这只是打印出响应代码404,这没有任何意义,因为如果我将tracker.getLinkTrackURL生成的链接粘贴到我的浏览器中,它可以正常工作并在Piwik中正确记录(我有调试模式)。

所以我的问题是,为什么Piwik返回一个错误的请求,为什么Java在我的浏览器中完全正常工作时不能找到URL(404)?

1 个答案:

答案 0 :(得分:0)

我明白了。不应将网址指向http://example.com/piwik/piwik.php,而应该转到http://example.com/piwik