Google Analytics – de rapportage API – deel 2

In mijn eerste post had ik al beschreven hoe ik de koppeling met de Google Rapportage API werkend heb gekregen. Tenminste, het werkte op mijn laptop. Toen ik het vervolgens op de omgeving plaatste waar de echte site op draait, daar werkte het niet (zucht, hoe zou het ook anders…).

Bleek dat daar nog een oude PHP-versie draaide (5.3.nogwat) waardoor bijvoorbeeld bepaalde initialisaties van array’s niet werken:

$list = [];

Omdat ik die server niet beheer en niet weet wat voor extra werk erachter weg komt (moet de boel over naar een andere server, heeft dat ook invloed op de e-mail / pop-boxen) maar besloten om de code zelf op te bouwen.

Door alle abstracte interfaces, classes en externe bibliotheken gespit met als resultaat dat ik er flink wat uren mee bezig ben geweest, maar wel het totale pakket van 25 MB kan terugbrengen naar 1 los PHP bestand met externe functies en 1 PHP bestand met 300 regels code.  Binnenkort maar even op mijn Github-account plaatsen zodat de liefhebber dit kan gebruiken binnen haar/zijn eigen wordpress-omgeving.

Google Analytics – de rapportage API – deel 1

Een tijdje geleden een website voor iemand gemaakt (WordPress)  en vervolgens zat ik met het feit dat ik Google Analytics had toegevoegd en hem daar (natuurlijk) ook inzicht in wil geven. Je kunt wel zaken delen, maar dan moet die persoon volgens mij ook een @gmail-adres hebben, dus ik zocht naar een alternatief. Er zijn natuurlijk wel plug-ins, maar ik wil iets wat ik zelf “onder controle” heb.

Google heeft veel zaken beschikbaar via API’s, zo ook de rapportage van Google Analytics. Eerst maar naar de overzichtspagina gegaan: link. Je kunt daar kiezen voor Web application (waarbij je via OAuth een token krijgt wat je kunt gebruiken) of voor Service application. Daarbij heb je niet een ” user ” die zaken uitvoert, maar een account wat bepaalde zaken mag uitvoeren. Dat lijkt me in dit geval de juiste keuze, dus de stappen die beschreven staan bij PHP uitgevoerd: link.

Ik kies daar voor het activeren van de API. Vervolgens kan ik het service-account aanmaken. Je kunt daar de naam invoeren, maar ook de Rol. Ik zie niet welke rol ik zou moeten kiezen… Dan maar kiezen voor rol ” Kijker “. Key aanmaken als JSON, geen vinkje bij de machtiging voor de G Suite,  als ik door ga wordt netjes het JSON bestand opgeslagen. Ik stoor me eraan dat het project ” My Project ” heet, maar dat kun je onder instellingen gewoon aanpassen.

Hierna de Google Api PHP cliënt gedownload: link. Omdat ik geen Composer gebruik, de release gedownload: link. Maar dat werkt allemaal niet echt lekker. Verwijzigingen die niet goed gaan. Dus toch eerst maar composer geïnstalleerd. Uiteindelijk kan ik daar met php composer.phar require google/apiclient:^2.0 de juiste download uitvoeren.

Hierna de HelloAnalytics.php gedownload en ingevuld. Vervolgens uitgevoerd, ik krijg de melding dat mijn service-account niet bij mijn gegevens mag komen. En dat is natuurlijk ook zo. Want je moet deze als ” user ” toevoegen bij je Analytics, zodat je deze Read and Analyze rechten kunt geven. Dus eerst naar het accountbeheer: link.

Daar zie ik niet wat ik nodig heb, dus ik ga gewoon naar de site, analytics.google.com. Daar ben ik al ingelogd, zit op het scherm met de gegevens van de site die ik wil koppelen. Daar klik ik links onderaan op het tandrad, Beheerder. In dat scherm zie je ergens Gebruikersbeheer. Toevoegen, klaar. En dan ook echt klaar, want de code geeft me nu terug dat er 18 sessies waren de afgelopen 7 dagen. Cool, het werkt dus! Door met het opbouwen van echte informatie waar we wat mee kunnen!

Natuurlijk is het ook handig dat je de hoeveelheid requests kunt bekijken en ook of er fouten optreden, dat kan via de console: link.

En je wilt natuurlijk wat voorbeelden hebben, de samples op deze pagina hebben me een stuk verder geholpen: link.

Werkt het niet omdat je een oudere PHP-versie op je server hebt? Wanhoop niet, ook ik liep hier tegenaan. Die survivaltocht beschrijf ik in mijn tweede post over dit onderwerp.