【问题标题】:How pull web statistics using google analytics api through php client如何通过 php 客户端使用谷歌分析 api 提取网络统计信息
【发布时间】:2014-05-26 08:11:21
【问题描述】:

如何使用PHP通过Google Analytics API检索Google Analytics数据?

是否可以通过 API 获得页面明智的状态?

我正在使用一个拥有 30K 页面的网站,我需要创建一个仪表板来显示相应用户的页面统计信息。

【问题讨论】:

    标签: php google-app-engine web google-analytics-api google-api-php-client


    【解决方案1】:

    是的,使用 PHP 通过Google Analytics API 可以获得您正在谈论的统计数据。

    有一个我推荐的php客户端库可以在GitHub找到

    因为您只会访问自己的数据,我建议您使用service account 进行身份验证。

    简单示例:

    <?php
    session_start();
    require_once 'Google/Client.php';
    require_once 'Google/Service/Analytics.php';
    
    /************************************************
      The following 3 values an befound in the setting
      for the application you created on  Google 
      Developers console.
      The Key file should be placed in a location
      that is not accessable from the web. outside of 
      web root.
    
      In order to access your GA account you must
      Add the Email address as a user at the 
      ACCOUNT Level in the GA admin. 
     ************************************************/
    $client_id = '1046123799103-nk421gjc2v8mlr2qnmmqaak04ntb1dbp.apps.googleusercontent.com';
    $Email_address = '1046123799103-nk421gjc2v8mlr2qnmmqaak04ntb1dbp@developer.gserviceaccount.com';
    $key_file_location = '629751513db09cd21a941399389f33e5abd633c9-privatekey.p12';
    
    $client = new Google_Client();
    $client->setApplicationName("Client_Library_Examples");
    
    $key = file_get_contents($key_file_location);
    
    // seproate additional scopes with a comma
    $scopes ="https://www.googleapis.com/auth/analytics.readonly";  
    
    $cred = new Google_Auth_AssertionCredentials(
        $Email_address,
        array($scopes),
        $key
        );
    
    $client->setAssertionCredentials($cred);
    if($client->getAuth()->isAccessTokenExpired()) {
        $client->getAuth()->refreshTokenWithAssertion($cred);
    }
    
    $service = new Google_Service_Analytics($client);  
    $accounts = $service->management_accountSummaries->listManagementAccountSummaries();
    
    //calulating start date
    $date = new DateTime(date("Y-m-d"));
    $date->sub(new DateInterval('P10D'));
    
    //Adding Dimensions
    $params = array('dimensions' => 'ga:userType');
    // requesting the data
    $data = $service->data_ga->get("ga:78110423", $date->format('Y-m-d'),  date("Y-m-d"), "ga:users,ga:sessions", $params );
    
    
    ?><html>
    <?php echo $date->format('Y-m-d') . " - ".date("Y-m-d"). "\n";?>
    <table>
    <tr>
    <?php
    //Printing column headers
    foreach($data->getColumnHeaders() as $header){  
        print "<td>".$header['name']."</td>";   
    }
    ?>
    </tr>
    <?php
    //printing each row.
    foreach ($data->getRows() as $row) {    
        print "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td></tr>";  
    }
    
    //printing the total number of rows
    ?>
    <tr><td colspan="2">Rows Returned <?php print $data->getTotalResults();?> </td></tr>
    </table>
    </html>
    <?php
    
    ?>
    

    我可以在Google Service account php找到该代码的教程

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-19
      • 2016-04-12
      • 2017-10-28
      • 2020-01-15
      • 1970-01-01
      相关资源
      最近更新 更多