2

我已经从 Google Analytics Data API 成功运行了 runRealtimeReport 函数,但我目前正在努力运行 runReport 函数。

这是我尝试使用的代码:

$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'
                    ])]
                ]]);

无论我如何尝试传递 DateRange 的值,API 都会不断失败并抛出以下错误:

Invalid message property: startDate

我为此使用了一个惯用的 PHP 客户端

4

1 回答 1

1

您需要在一个日期范围内同时指定 startDate 和 endDate。如前所述,您已在两个单独的日期范围内指定了 startDate 和 endDate。请更新为:

'dateRanges' => [new DateRange(['start_date' => '28daysago',
                               'end_date' => 'today'])],
于 2021-03-01T20:40:58.073 回答