Reputation: 28
I have been successfully running a runRealtimeReport function from Google Analytics Data API, but I am currently struggling to run a runReport function.
Here is my code which I try to use:
$client->runReport([
'entity' => ['property_Id' => config('app.ga.propertyID')],
'dateRanges' => [new DateRange(['startDate' => '28daysago']),
new DateRange(['endDate' => 'today'])],
'dimensions' => [new Dimension([
'name' => 'sessionSource'
])
],
'metrics' =>[
[new Metric([
'name' => 'activeUsers'
])],
[new Metric([
'name' => 'sessions'
])],
[new Metric([
'name' => 'engagedSessions'
])],
[new Metric([
'name' => 'userEngagementDuration'
])],
[new Metric([
'name' => 'eventsPerSession'
])],
[new Metric([
'name' => 'engagementRate'
])]
]]);
No matter how I try to pass the values for DateRange, the API constantly fails and throws the following error:
Invalid message property: startDate
I am using an idiomatic PHP client for this
Upvotes: 1
Views: 945
Reputation: 1289
You need to specify both the startDate and endDate in one Date Range. As written, you've specified the startDate and endDate in two separate date ranges. Please update to:
'dateRanges' => [new DateRange(['start_date' => '28daysago',
'end_date' => 'today'])],
Upvotes: 1