Google Analytics API: Holen Sie sich spezifische Daten mit PHP ab
-
27-10-2019 - |
Frage
Ich habe es geschafft, einige Daten mithilfe zu erhalten:
$ga->requestReportData(44030755,array('pagePath'),array('pageviews','uniquePageviews'));
und iterieren darüber mit foreach.
Hier ist, was zurückgegeben wird:
object(gapiReportEntry)[7]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '//?@faktanyaadalah=' (length=19)
object(gapiReportEntry)[12]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '//?facebookwww-static/assets/images/highlight.png=' (length=50)
object(gapiReportEntry)[8]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '//?faktanyaadalah=&fb_xd_fragment=' (length=34)
object(gapiReportEntry)[13]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '//?faktanyadalah=' (length=17)
object(gapiReportEntry)[15]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '//?uniqpost=&fb_xd_fragment=' (length=28)
object(gapiReportEntry)[14]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/adamramadhan?offset=0' (length=22)
object(gapiReportEntry)[16]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/adamramadhan?offset=2' (length=22)
object(gapiReportEntry)[18]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/adamramadhan?offset=3' (length=22)
object(gapiReportEntry)[19]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/adamramadhan?offset=4' (length=22)
object(gapiReportEntry)[20]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/admin/blog?e=2' (length=15)
object(gapiReportEntry)[21]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/admin/blog?e=4' (length=15)
object(gapiReportEntry)[22]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/admin/blog?e=5' (length=15)
object(gapiReportEntry)[23]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/blog?id=23' (length=11)
object(gapiReportEntry)[24]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/gembelabis' (length=11)
object(gapiReportEntry)[25]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/messages?id=7' (length=14)
object(gapiReportEntry)[26]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/messages?id=9' (length=14)
object(gapiReportEntry)[27]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/messages?mid=15' (length=16)
object(gapiReportEntry)[28]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/messages?mid=17' (length=16)
object(gapiReportEntry)[29]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/messages?mid=18' (length=16)
object(gapiReportEntry)[30]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/product?id=16' (length=14)
object(gapiReportEntry)[31]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/product?id=18' (length=14)
object(gapiReportEntry)[32]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/product?id=2' (length=13)
object(gapiReportEntry)[33]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/product?id=44' (length=14)
object(gapiReportEntry)[34]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/products?tag=hosting' (length=21)
object(gapiReportEntry)[35]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/verify/adamramadhan' (length=20)
object(gapiReportEntry)[36]
private 'metrics' =>
array
'pageviews' => int 1
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/verify/uniqpost' (length=16)
object(gapiReportEntry)[37]
private 'metrics' =>
array
'pageviews' => int 2
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '//?facebookwww-static/assets/images/highlight-1.png=' (length=52)
object(gapiReportEntry)[38]
private 'metrics' =>
array
'pageviews' => int 2
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/LVUStore' (length=9)
object(gapiReportEntry)[39]
private 'metrics' =>
array
'pageviews' => int 2
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/adamramadhan?offset=1' (length=22)
object(gapiReportEntry)[40]
private 'metrics' =>
array
'pageviews' => int 2
'uniquePageviews' => int 1
private 'dimensions' =>
array
'pagePath' => string '/product?id=22' (length=14)
Wie kann ich Seitenansichten und UniqPageViews aus nur einem benutzerdefinierten Seitenpfad erhalten? etwas wie
$eachdata->path('/LVUstore')
; Gibt eine Array -Seite 2, UniqPageView 1 usw. zurückGibt es Best Practices? zB dem Objekt zwischen dem Objekt usw.
Vielen Dank,
Lösung
Ich denke, was Sie suchen, sind Filter. Du kannst den ... benutzen filter
Parameter, um Ihr Ergebnissatz einzuschränken. Google sagt auch, dass dies ein guter Weg ist, um mit großen Datensätzen umzugehen. Im Wesentlichen können Sie also nur den einen bestimmten Weg schnappen, den Sie mit einem Filter gewünscht haben, oder Sie können sie alle schnappen und entsprechend organisieren.
$path = "/path-goes-here";
/*
* if you only want to get one path, use a filter:
*/
$filter = "pagePath == '$path'";
$ga->requestReportData(ga_profile_id,array('pagePath'),
array('pageviews','uniquePageviews'),'',$filter);
$result = $ga->getResults();
if (count($result)) {
$result = array('pageviews' => $result[0]->getPageviews(),
'unique_pageviews' => $result[0]->getUniquePageviews()
);
}
print_r($result);
/*
* of if you want to get them all and then grab one specific:
*/
$ga->requestReportData(ga_profile_id,array('pagePath'),array('pageviews','uniquePageviews'));
$results = array();
foreach($ga->getResults() as $result) {
$results[$result->getPagePath()] = array('pageviews' => $result->getPageviews(),
'unique_pageviews' => $result->getUniquePageviews() );
}
if(array_key_exists($path,$results)) {
print_r($results[$path]);
}
Andere Tipps
Dies gibt ein Array zurück, das wie Sie möchten (wenn ich verstanden hätte)
function cleanTheData($what){
$ret = array();
foreach($what as $one){
$ret[$uno->dimensions['pagePath']] = array(
'pageviews' => $uno->metrics['pageviews'],
'uniquePageviews' => $uno->metrics['uniquePageviews']
);
}
return $ret;
}
print_r(cleanTheData($initialArray))