duan1226 2011-05-01 06:31 采纳率: 100%
浏览 22
已采纳

Google AnalyticsAPI:使用php获取特定数据

I've managed to get some data using:

$ga->requestReportData(44030755,array('pagePath'),array('pageviews','uniquePageviews')); and iterating over it using foreach.

Here's what's returned:

    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)
  1. How can i get page views, and uniqpageviews from just using a custom page path? something like $eachdata->path('/LVUstore'); returns an array pageview 2, uniqpageview 1, etc

  2. Are there any best practices? e.g. caching the object etc

Thanks,

  • 写回答

2条回答 默认 最新

  • douxi3233 2011-05-05 23:08
    关注

    I think what you are looking for are filters. You can use the filter parameter to limit your result set. Google also says this is a good way to deal with large datasets. So, essentially you can just snag the one specific path that you want with a filter, or you can grab them all and organize them accordingly.

    $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]);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算