public function GoogleAnalyticsReportsApiFeed::query in Google Analytics Reports 8.3
Public query method for all Core Reporting API features.
6 calls to GoogleAnalyticsReportsApiFeed::query()
- GoogleAnalyticsReportsApiFeed::queryAccounts in google_analytics_reports_api/
src/ GoogleAnalyticsReportsApiFeed.php - Query Management API - Accounts.
- GoogleAnalyticsReportsApiFeed::queryGoals in google_analytics_reports_api/
src/ GoogleAnalyticsReportsApiFeed.php - Query Management API - Goals.
- GoogleAnalyticsReportsApiFeed::queryProfiles in google_analytics_reports_api/
src/ GoogleAnalyticsReportsApiFeed.php - Query Management API - Profiles.
- GoogleAnalyticsReportsApiFeed::queryReportFeed in google_analytics_reports_api/
src/ GoogleAnalyticsReportsApiFeed.php - Query and sanitize report data.
- GoogleAnalyticsReportsApiFeed::querySegments in google_analytics_reports_api/
src/ GoogleAnalyticsReportsApiFeed.php - Query Management API - Segments.
File
- google_analytics_reports_api/
src/ GoogleAnalyticsReportsApiFeed.php, line 458
Class
- GoogleAnalyticsReportsApiFeed
- Class GoogleAnalyticsReportsApiFeed.
Namespace
Drupal\google_analytics_reports_apiCode
public function query($url, $params = [], $method = 'GET', $headers = [], $cache_options = []) {
$params_defaults = [
'start-index' => 1,
'max-results' => 1000,
];
$params += $params_defaults;
// Provide cache defaults if a developer did not override them.
$cache_defaults = [
'cid' => NULL,
'bin' => 'default',
'expire' => google_analytics_reports_api_cache_time(),
'refresh' => FALSE,
];
$cache_options += $cache_defaults;
// Provide a query MD5 for the cid if the developer did not provide one.
if (empty($cache_options['cid'])) {
$cache_options['cid'] = 'google_analytics_reports_data:' . md5(serialize(array_merge($params, [
$url,
$method,
])));
}
$cache = $this->cacheFactory
->get($cache_options['bin'])
->get($cache_options['cid']);
if (!$cache_options['refresh'] && isset($cache) && !empty($cache->data) && $cache->expire > $this->time
->getRequestTime()) {
$this->response = $cache->data;
$this->results = json_decode($this->response);
$this->fromCache = TRUE;
}
else {
$this
->request($url, $params, $headers);
}
if (empty($this->error)) {
$this->cacheFactory
->get($cache_options['bin'])
->set($cache_options['cid'], $this->response, $cache_options['expire']);
}
return empty($this->error);
}