Google Analytics – zobrazení statistik

Alsatian
Člen | 164
+
0
-

Ahoj. Mám na Vás prosbu.
Rád bych si v administraci svého webu zobrazoval statistiky návštěvnosti Google Analytics. Ideálně grafem.
Nedaří se mi dohledat jednoduché řešení. Líbí se mi, jak to mají ve Wordpressu. V administraci se vloží pouze ID výběru dat a toť vše.

Jak to, prosím řešíte vy? Existuje plugin, který by integraci zobrazení statistik usnadnil?

Moc děkuji.

David Matějka
Moderator | 6445
+
+1
-

google analytics poskytuji ruzny api, nejsnazsi bude asi vyuzit embed api

Alsatian
Člen | 164
+
0
-

@DavidMatějka na tohle jsem taky narazil. Zatím se mi ale nic nerobrazuje :) Je možné, že to na localhostu nepojede? Dostávám chybu:
{error: „idpiframe_initialization_failed“, details: „Not a valid origin for the client: http://localhos…itelist this origin for your project's client ID.“}

David Matějka
Moderator | 6445
+
0
-

a zkousel si to googlit? prvni vysledek: https://stackoverflow.com/…r-the-client

Alsatian
Člen | 164
+
0
-

@DavidMatějka bojoval jsem s tím, ale nevybojoval. Hlásí to stejnou chybu. Je jasné, že dělám něco špatně ohledně těch Credentials. Každopádně to není to, co jsem na počátku očekával. Že do adminu pouze vložím identifikační ID webu a vyjedou mi statistiky. Zřejmě ale k vůli bezpečnosti je potřeba tato oprávnění nastavit a bez nich data číst nepůjde. Zasekl jsem se na mrtvém bodě. Řešil jsi to, prosím tě, někdy na svých webech? Vypadá to tak snadně…

David Matějka
Moderator | 6445
+
0
-

takze si v google api console aktivoval google analytics reporting api, vytvoril oauth credentials, nastavil mu spravne origin, client id zkopiroval do toho scriptu a stale to nefunguje?

Alsatian
Člen | 164
+
0
-

@DavidMatějka v google api console jsem všechno raději pomazal. Původně jsem vytvořil i Analytics API (bez slova reporting). Nyní mi správně web nabídl tlačítkem přihlášení ke google účtu a na místo statistik jsem dostal na obrazovku text „You are logged in as: mojegoogleemailovaadresa@gmail.com“.

Předpokládám, že tohle demo by normálně mělo graf návštěvnosti ukázat.
https://ga-dev-tools.appspot.com/…c-dashboard/

Děkuji, moc, snad se mi povede pokročit dále a graf zobrazit :D

Je lepší graf řešit takto přes JS API než zkoušet nějakou nette php knihovnu? Stejně bych potom musel řešit zobrazení grafu sám, předpokládám.

Alsatian
Člen | 164
+
0
-

@DavidMatějka vypadá to, že neumím nastavit „origin“. Zde si myslím, že dělám stále chybu. Snad na to někdy přijdu :D Zatím vůbec nechápu, co onen origin je a jak jej nastavit.

David Matějka
Moderator | 6445
+
0
-

origin je stránka, ze které bude prováděn ten js api call, takže třeba http://localhost .. pokud ti to beží na jiném portu než 80, tak je potřeba jej také uvést

Alsatian
Člen | 164
+
0
-

@DavidMatějka to mám nastaveno – název domény. Klidně zkus, jestli ti to půjde. Provede se ověření a potom už jenom text, že jsem přihlášený. Žádný graf :)

https://www.alsan.cz/…nalytics.php
PS: v konzoli to i přes přihlášení píše chybu.

Nerozumím tomu, jestli když se sem třeba ty přihlásíš, tak uvidíš svoje statistiky (za předpokladu, že by to fungovalo :D )?
Potřeboval bych tam nastavit statistiky určitého webu ideálně.

Editoval Alsatian (4. 2. 2019 14:39)

David Matějka
Moderator | 6445
+
0
-

jaký origin tam máš tedy teď vyplněný?

Alsatian
Člen | 164
+
0
-

@DavidMatějka nastaveno mám „https://www.alsan.cz“. Nic delšího, třeba https://www.alsan.cz/test nastavit nejde.

Edit, už to asi jede.. Musel jsem provést díky linku z JS chyby, která mi byla skryta, ENABLE nějaké služby. Asi celkévého toho API. Ale nikde v nastavení jsem to neviděl.

Nicméně graf nyní vidím, pod svým účtem mám webů více, tak mám roletku pro jejich přepínání. To ale neřeší to, co bylo původním záměrem :) Vidět jeden konkrétní projekt a to i kdyby ses třeba ty do případné administrace přihlásil. Takto bys viděl zase svoje projekty zřejmě, nevím.

O pluginu nebo něčem takovém do NETTE teda nevíš, prosím tě? Hledal jsem, chytrý z toho nejsem. Není mi jasné, jak se to má řešit :) Ale moc to v případě, že plugin pro nette není, sem nespadá. Za což se omlouvám.

Editoval Alsatian (4. 2. 2019 16:21)

Alsatian
Člen | 164
+
0
-

Zkusím ještě tohle. Snad to bude ono :)
https://ga-dev-tools.appspot.com/…thorization/

Mysteria
Člen | 797
+
0
-

Zkus https://github.com/…hp-interface, sám to používám na pár projektech. Stačí tam jenom vyplnit dva údaje a úplně dole je návod jak je získat. Naprostá pohoda oproti prokousávání se dokumentací od Googlu. :)

Alsatian
Člen | 164
+
0
-

@Mysteria – ahoj, až dnes jsem se k tomu dostal. Díky moc, vypadá to parádně a hlavně opravdu funguje jednoduše.
Lámu si ještě hlavu nad tím, jaká data mám o návštěvnosti webu vytáhnout. Nechceš se podělit o to, co vyčítáš a zobrazuješ ty? Děkuji.

Mysteria
Člen | 797
+
0
-

Ani není o co, mám tam jednoduše spojnicový graf návštěvnosti za posledních 30 dnů. :)

Alsatian
Člen | 164
+
0
-

@Mysteria – prosím tě, mohl bych poprosit o kousek kódu, jak žádáš o data? Hledám různě po webech jak si vypsat přístupy třeba za zmíněných posledních 30 dnů, ale k ničemu jsem nedospěl.

$ga->requestReportData(… co dosadit sem.
Výpis grafu už si potom zajistím.

Přišel jsem akorát na to, jak snadno zadat date from a date to:
$fromDate = ‚30daysAgo‘;
$toDate = ‚today‘;

Všechny mnou nalezené příklady načítají a vypisují přehled nejnavštěvovanějších URL nebo seřadí výpis podle použitého jména prohlížeče. Mě by stačilo jenom datum a počet návštěv v onen den. A takto třeba 30 dnů. Případně navíc unikátních + všech návštěvníků a podobně. Moc děkuji.

EDIT: a nebo to tak prostě funguje? Mám vytvořit například 7 dotazů (pro 7 posledních dnů, co den, to jeden dotaz) a ty zpracovat do grafu?

Editoval Alsatian (8. 2. 2019 15:15)

Mysteria
Člen | 797
+
+1
-

Na jednom hodně starým projektu to mám takto:

$visitors = [];
$analytics->requestReportData(1122334455, ['date'], ['visits'], ['date'], NULL, (new DateTime('-29 day'))->format('Y-m-d'), (new DateTime('-1 day'))->format('Y-m-d'));

/* @var $result gapiReportEntry */
foreach ($analytics->getResults() as $result) {
	$visitors[] = (object) [
		'timestamp' => (new DateTime())->createFromFormat('Ymd', $result->getDimensions()['date']),
		'count' => $result->getMetrics()['visits'],
	];
}

return $visitors;