谷歌api php客户端最终返回null,但没有错误或警告

时间:2016-02-26 13:03:08

标签: google-analytics-api google-api-php-client

我正在尝试关注此Google Analytics教程:

http://blog.anorgan.com/2015/01/15/using-google-analytics-api-with-php/

我不确定这是否符合我的需求,但我想在一天结束时做某事。至少作为一种培训。

我最终得到了这段代码:

$items = $data->getRows();  
var_dump($items);

显示null。但是GA中有数据。没有错误,也没有警告。我确实启用了它们:

ini_set('display_errors', '1');
error_reporting(E_ALL); 

当我故意在" OAuth2服务帐户ClientId"中犯错时,更不好笑。或" OAuth2服务帐户电子邮件地址"也没有错误/警告。

图书馆(我的意思是Google api php客户端)广泛使用例外(70次出现)。但是没有任何东西被抛出(除非我在" OAuth2服务帐户p12密钥文件"中输入错误,所以异常通常起作用)。

然后,我怎么知道发生了什么以及问题出在哪里?

P.S。我想要实现的是,我想创建一项服务,在客户向我们提供他的Google Analytics凭据后(我不知道这可能是什么),我们将从他/她的分析帐户中收集一些统计数据然后在做一些计算后将这些数据发送到客户的电子邮件中。

更新 这是我的代码:

  ini_set('display_errors', '1');
  error_reporting(E_ALL);

  require_once 'google_api_client/src/Google/autoload.php';
  // OAuth2 service account p12 key file
  $p12FilePath = 'analytics-c70e9f12f1e1.p12';

  // OAuth2 service account ClientId
  $serviceClientId = 'xyz.apps.googleusercontent.com';

  // OAuth2 service account email address
  $serviceAccountName = 'peak-geode-xyz@appspot.gserviceaccount.com';

  // Scopes we're going to use, only analytics for this tutorial
  $scopes = array(
      'https://www.googleapis.com/auth/analytics.readonly'
  );

  $googleAssertionCredentials = new Google_Auth_AssertionCredentials(
          $serviceAccountName, $scopes, file_get_contents($p12FilePath)
  );

  $client = new Google_Client();
  $client->setAssertionCredentials($googleAssertionCredentials);
  $client->setClientId($serviceClientId);
  $client->setApplicationName("Analytics");    

  // Create Google Service Analytics object with our preconfigured Google_Client
  $analytics = new Google_Service_Analytics($client);

  // Add Analytics View ID, prefixed with "ga:"
  $analyticsViewId    = 'ga:xyz';//

  $startDate          = '2016-01-27';
  $endDate            = '2016-02-25';
  $metrics            = 'ga:sessions,ga:pageviews';

  $data = $analytics->data_ga->get($analyticsViewId, $startDate, $endDate, $metrics, array(
      'dimensions'    => 'ga:pagePath',
      'filters'       => 'ga:pagePath==http://konradpapala.beep.pl/',
      'sort'          => '-ga:pageviews',
  ));

  // Data 
  $items = $data->getRows();  
  var_dump($items);//gives null

0 个答案:

没有答案