2010-11-22 40 views
27

Mon site a des profils d'utilisateurs qui sont accessibles via des URL qui ressemblent à ceci: . Je veux montrer aux utilisateurs les statistiques de leurs profils, mais je dois pouvoir faire des jokers.API Google Analytics: filtre par URI?

Par exemple, cela fonctionne:

filters=ga:pagePath==/profile/123/ 

Le problème est qu'il ya potentiellement d'autres segments URI qui suivent /profile/123/. Je veux faire quelque chose comme ceci (ne fonctionne pas):

filters=ga:pagePath==/profile/123/* 

Suggestions?

Répondre

32

Utilisez l'opérateur 'Contient une correspondance pour l'expression régulière' (~) du Dimension Filters.

filters=ga:pagePath=~/profile/123/* 
+0

votre lien n'est pas bon ... pouvons-nous faire ~/*/view/*? – VinnyG

+3

@yahelc, Le # ~ est correct mais * ne signifie pas ce que vous pensez dans les expressions rationnelles. En fait, filters = ga: pagePath = ~/profile/123/est suffisant dans ce cas. – s6mike

+0

J'ai laissé le double d'origine '==' dans ma requête et je ne comprenais pas pourquoi il ne fonctionnait pas ... essentiellement: 'filters = ga: pagePath == ~/profile/123/*'> ___ < –

0

travaillé pour moi.

  
    require('gapi.class.php'); 
    $ga = new gapi('[email protected]','google_analytics_password'); 
    $filter = 'ga:pagePath==/home.php'; 

    //first parameter is your Google Analytics profile id 

    /* How to find Google Analytics Profile ID 
    http://stackoverflow.com/questions/4119610/get-google-analytics-id-from-the-code-embed/4120625#4120625 
    */ 
    $ga->requestReportData(0000000,array('pagePath'),array('pageViews','UniquePageviews'), '-pageViews', $filter); 

    foreach($ga->getResults() as $result) 
    { 
     echo $result->getPageviews(); 
     echo $result->getUniquePageviews(); 
     echo $result->getPagePath(); 
    } 
    ?> 
+0

GAPI Classe (Interface PHP de Google Analytics) http://code.google.com/p/gapi-google-analytics-php-interface/ – Tag

+0

Comment trouver l'identifiant de profil Google Analytics http://stackoverflow.com/questions/4119610/get-google-analytics-id-du-code-embed/4120625 # 4120625 – Tag

4

Cela fonctionne:

filters=ga:pagePath=~/profile/123/ 

Pour faire /*/view/* (comme par @ VinnyG de commentaire), cela devrait fonctionner:

filters=ga:pagePath=~/[^/]+/view/ 

Je suppose que vous voulez faire correspondre un (et un seul) répertoire avant /view/.