Skip to content

Commit 0d09314

Browse files
authored
Fix TypeError in runReport after upgrading to 5.5.2 (#535)
* Fix TypeError in runReport after upgrading to 5.5.2 * fix properties syntax * fix real time report - This fix will ensure that the request argument passed to `runRealtimeReport()` is correctly instantiated as a `RunRealtimeReportRequest` object instead of an array.
1 parent ada31ec commit 0d09314

File tree

2 files changed

+15
-13
lines changed

2 files changed

+15
-13
lines changed

.phpunit.cache/test-results

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"version":"pest_3.7.4","defects":{"P\\Tests\\AnalyticsServiceProviderTest::__pest_evaluable_it_allows_credentials_json_file":8,"P\\Tests\\AnalyticsServiceProviderTest::__pest_evaluable_it_allows_credentials_json_to_be_array":8},"times":{"P\\Tests\\AnalyticsServiceProviderTest::__pest_evaluable_it_will_throw_an_exception_if_the_property_id_is_not_set":0.013,"P\\Tests\\AnalyticsServiceProviderTest::__pest_evaluable_it_allows_credentials_json_file":0.026,"P\\Tests\\AnalyticsServiceProviderTest::__pest_evaluable_it_will_throw_an_exception_if_the_credentials_json_does_not_exist":0,"P\\Tests\\AnalyticsServiceProviderTest::__pest_evaluable_it_allows_credentials_json_to_be_array":0.001,"P\\Tests\\AnalyticsTest::__pest_evaluable_it_can_fetch_the_visitor_and_page_views":0.003,"P\\Tests\\AnalyticsTest::__pest_evaluable_it_can_fetch_the_visitor_and_page_views_by_date":0.012,"P\\Tests\\AnalyticsTest::__pest_evaluable_it_can_fetch_the_total_visitor_and_page_views":0,"P\\Tests\\AnalyticsTest::__pest_evaluable_it_can_fetch_the_most_visited_pages":0,"P\\Tests\\AnalyticsTest::__pest_evaluable_it_can_fetch_the_top_referrers":0,"P\\Tests\\AnalyticsTest::__pest_evaluable_it_can_fetch_the_top_browsers":0,"P\\Tests\\AnalyticsTest::__pest_evaluable_it_can_fetch_the_top_countries":0,"P\\Tests\\AnalyticsTest::__pest_evaluable_it_can_fetch_the_top_operating_systems":0,"P\\Tests\\OrderByTest::__pest_evaluable_it_should_create_GoogleOrderBy_objects_for_dimensions":0,"P\\Tests\\OrderByTest::__pest_evaluable_it_should_create_GoogleOrderBy_objects_for_metrics":0,"P\\Tests\\PeriodTest::__pest_evaluable_it_can_create_a_period_for_a_given_amount_of_days":0.006,"P\\Tests\\PeriodTest::__pest_evaluable_it_can_create_a_period_for_a_given_amount_of_months":0,"P\\Tests\\PeriodTest::__pest_evaluable_it_can_create_a_period_for_a_given_amount_of_years":0,"P\\Tests\\PeriodTest::__pest_evaluable_it_provides_a_create_method":0,"P\\Tests\\PeriodTest::__pest_evaluable_it_accepts_datetime_immutable_instances":0,"P\\Tests\\PeriodTest::__pest_evaluable_it_will_throw_an_exception_if_the_start_date_comes_after_the_end_date":0,"P\\Tests\\TypeCasterTest::__pest_evaluable_it_should_cast_a_date_to_a_Carbon_object":0,"P\\Tests\\TypeCasterTest::__pest_evaluable_it_should_cast_integers":0,"P\\Tests\\TypeCasterTest::__pest_evaluable_it_should_return_a_string_as_a_default":0}}
1+
{"version":"pest_3.7.4","defects":{"P\\Tests\\AnalyticsServiceProviderTest::__pest_evaluable_it_allows_credentials_json_file":8,"P\\Tests\\AnalyticsServiceProviderTest::__pest_evaluable_it_allows_credentials_json_to_be_array":8},"times":{"P\\Tests\\AnalyticsServiceProviderTest::__pest_evaluable_it_will_throw_an_exception_if_the_property_id_is_not_set":0.019,"P\\Tests\\AnalyticsServiceProviderTest::__pest_evaluable_it_allows_credentials_json_file":0.028,"P\\Tests\\AnalyticsServiceProviderTest::__pest_evaluable_it_will_throw_an_exception_if_the_credentials_json_does_not_exist":0,"P\\Tests\\AnalyticsServiceProviderTest::__pest_evaluable_it_allows_credentials_json_to_be_array":0.001,"P\\Tests\\AnalyticsTest::__pest_evaluable_it_can_fetch_the_visitor_and_page_views":0.002,"P\\Tests\\AnalyticsTest::__pest_evaluable_it_can_fetch_the_visitor_and_page_views_by_date":0.013,"P\\Tests\\AnalyticsTest::__pest_evaluable_it_can_fetch_the_total_visitor_and_page_views":0,"P\\Tests\\AnalyticsTest::__pest_evaluable_it_can_fetch_the_most_visited_pages":0,"P\\Tests\\AnalyticsTest::__pest_evaluable_it_can_fetch_the_top_referrers":0,"P\\Tests\\AnalyticsTest::__pest_evaluable_it_can_fetch_the_top_browsers":0,"P\\Tests\\AnalyticsTest::__pest_evaluable_it_can_fetch_the_top_countries":0,"P\\Tests\\AnalyticsTest::__pest_evaluable_it_can_fetch_the_top_operating_systems":0,"P\\Tests\\OrderByTest::__pest_evaluable_it_should_create_GoogleOrderBy_objects_for_dimensions":0,"P\\Tests\\OrderByTest::__pest_evaluable_it_should_create_GoogleOrderBy_objects_for_metrics":0,"P\\Tests\\PeriodTest::__pest_evaluable_it_can_create_a_period_for_a_given_amount_of_days":0.005,"P\\Tests\\PeriodTest::__pest_evaluable_it_can_create_a_period_for_a_given_amount_of_months":0,"P\\Tests\\PeriodTest::__pest_evaluable_it_can_create_a_period_for_a_given_amount_of_years":0,"P\\Tests\\PeriodTest::__pest_evaluable_it_provides_a_create_method":0,"P\\Tests\\PeriodTest::__pest_evaluable_it_accepts_datetime_immutable_instances":0,"P\\Tests\\PeriodTest::__pest_evaluable_it_will_throw_an_exception_if_the_start_date_comes_after_the_end_date":0,"P\\Tests\\TypeCasterTest::__pest_evaluable_it_should_cast_a_date_to_a_Carbon_object":0,"P\\Tests\\TypeCasterTest::__pest_evaluable_it_should_cast_integers":0,"P\\Tests\\TypeCasterTest::__pest_evaluable_it_should_return_a_string_as_a_default":0}}

src/AnalyticsClient.php

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
use Google\Analytics\Data\V1beta\Dimension;
77
use Google\Analytics\Data\V1beta\FilterExpression;
88
use Google\Analytics\Data\V1beta\Metric;
9+
use Google\Analytics\Data\V1beta\RunRealtimeReportRequest;
910
use Google\Analytics\Data\V1beta\RunRealtimeReportResponse;
11+
use Google\Analytics\Data\V1beta\RunReportRequest;
1012
use Google\Analytics\Data\V1beta\RunReportResponse;
1113
use Illuminate\Contracts\Cache\Repository;
1214
use Illuminate\Support\Collection;
@@ -43,17 +45,17 @@ public function get(
4345

4446
$response = $this->runReport([
4547
'property' => "properties/{$propertyId}",
46-
'dateRanges' => [
48+
'date_ranges' => [
4749
$period->toDateRange(),
4850
],
4951
'metrics' => $this->getFormattedMetrics($metrics),
5052
'dimensions' => $this->getFormattedDimensions($dimensions),
5153
'limit' => $maxResults,
5254
'offset' => $offset,
53-
'orderBys' => $orderBy,
54-
'dimensionFilter' => $dimensionFilter,
55-
'keepEmptyRows' => $keepEmptyRows,
56-
'metricFilter' => $metricFilter,
55+
'order_bys' => $orderBy,
56+
'dimension_filter' => $dimensionFilter,
57+
'keep_empty_rows' => $keepEmptyRows,
58+
'metric_filter' => $metricFilter,
5759
]);
5860

5961
$result = collect();
@@ -93,17 +95,17 @@ public function getRealtime(
9395

9496
$response = $this->runRealtimeReport([
9597
'property' => "properties/{$propertyId}",
96-
'dateRanges' => [
98+
'date_ranges' => [
9799
$period->toDateRange(),
98100
],
99101
'metrics' => $this->getFormattedMetrics($metrics),
100102
'dimensions' => $this->getFormattedDimensions($dimensions),
101103
'limit' => $maxResults,
102104
'offset' => $offset,
103-
'orderBys' => $orderBy,
104-
'dimensionFilter' => $dimensionFilter,
105-
'keepEmptyRows' => $keepEmptyRows,
106-
'metricFilter' => $metricFilter,
105+
'order_bys' => $orderBy,
106+
'dimension_filter' => $dimensionFilter,
107+
'keep_empty_rows' => $keepEmptyRows,
108+
'metric_filter' => $metricFilter,
107109
]);
108110

109111
$result = collect();
@@ -138,7 +140,7 @@ public function runReport(array $request): RunReportResponse
138140
return $this->cache->remember(
139141
$cacheName,
140142
$this->cacheLifeTimeInMinutes,
141-
fn () => $this->service->runReport($request),
143+
fn () => $this->service->runReport(new RunReportRequest($request)),
142144
);
143145
}
144146

@@ -153,7 +155,7 @@ public function runRealtimeReport(array $request): RunRealtimeReportResponse
153155
return $this->cache->remember(
154156
$cacheName,
155157
$this->cacheLifeTimeInMinutes,
156-
fn () => $this->service->runRealtimeReport($request),
158+
fn () => $this->service->runRealtimeReport(new RunRealtimeReportRequest($request)),
157159
);
158160
}
159161

0 commit comments

Comments
 (0)