Probleme mit der Verwendung der API


#1

Hallo liebe Community,

ich arbeite nun das erste mal mit PIWIK und habe die Aufgabe eine Funktion in JavaScript(in Eclipse) zu schreiben die mir die Statistik-Daten eines Widgets exportiert. Dabei würde ich gerne die API von PIWIK verwenden. Mein Problem ist nun das ich auf die API im Coding nicht zu greifen kann muss ich da evtl. eine Libary oder ähnliches importieren? Falls ja würde ich mich über eine Anleitung wie ich es mache freuen oder im ideal fall auch ein Beispiel Code für die Funktion.

Danke

Ihsan


(Stefan Giehl) #2

Wo genau liegt das Problem? Die API sollte insofern Piwik nicht irgendwie besonders geschützt ist problemlos ansprechbar sein. Du musst halt die Parameter der URL entsprechend setzen.
Soll das ganze später auf einer Website laufen? Oder wofür ist es gedacht?


#3

Könntest du mir ein Beispiel schicken verstehe nicht ganz wie des mit der URL übergabe gemeint ist, da ich zum ersten mal mit PIWIK arbeite. Ich soll des machen damit die Daten in ein SAP BW System exportiert werden kann.


(Stefan Giehl) #4

Beispiel URLa für den Aufruf der APIs findest du z.B. hier: Reporting API Reference - Administration - Piwik

du musst in den URLs halt die Parameter entsprechend dem was du anfragen willst anpassen.


#5

Erstmal danke für die bisherige HIlfe.

Ich habe entsprechd dem Beispiel folgende URL als Test im Browser verwendendet

http://www.test.com/weba/index.php?module=API&method=API.getPiwikVersion()&token_auth=test

aus Datenschutzgründen kann ich nicht den Orginal link posten.

Daraufhin hab ich folgende Fehlermeldung erhalten

<?xml version="1.0" encoding="UTF-8"?>

-

Kannst du mir meinen Fehler zeigen an was es liegt?

Danke vorab

Ihsan


(Stefan Giehl) #6

Du musst die Funktionsklammern ‘()’ in der URL weglassen:

http://www.test.com/weba/index.php?module=API&method=API.getPiwikVersion&token_auth=test


#7

Danke hat funktioniert.

Jetzt nur noch wie kann ich das ganze in JavaScript das ich das Ergebnis in eine Variable speichere?


(Stefan Giehl) #8

Dafür musst du einen entsprechenden Ajax-Request senden.
Je nach Anwendungsfall könnte es hier allerdings zu Cross-Domain Problemen kommen.


#9

Habe nun folgenden Request erstellt jedoch funktioniert er nicht.

var result;
var test = function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject(“Microsoft.XMLHTTP”);
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
result=xmlhttp.responseText;
}
}
xmlhttp.open(“GET”,“http://{DOMAIN}/piwik/index.php?module=API&method=API.getPiwikVersion&token_auth={token_auth}”,true);
xmlhttp.send();
}
alert(result);

result wird als “undefined” ausgegeben


#10

Installed the piwik custom alert plugin. But not working any trigger alert. Also not sending any kind of email. What can be the reason. piwik version is 2.13.1.