[英]Extract data from Google Analytics Data API (Ga4) via oauth2 (consent screen)
Is it possible to extract data from Google Analytics Data API (GA4 accounts) not via service account?是否可以不通过服务帐户从Google Analytics Data API (GA4 帐户)中提取数据? I can extract normally using service accounts (example below), but I needed authorization via oauth (consent screen) and I found absolutely nothing related.我可以使用服务帐户正常提取(下面的示例),但我需要通过 oauth(同意屏幕)授权,我发现完全没有相关。
<?php
require 'vendor/autoload.php';
use Google\Analytics\Data\V1beta\BetaAnalyticsDataClient;
use Google\Analytics\Data\V1beta\DateRange;
use Google\Analytics\Data\V1beta\Dimension;
use Google\Analytics\Data\V1beta\Metric;
$client = new BetaAnalyticsDataClient(['credentials' => 'MY-CREDENTIALS.json']);
$response = $client->runReport([
'property' => 'properties/MY-ID',
'dateRanges' => [
new DateRange([
'start_date' => '2020-03-31',
'end_date' => 'today',
]),
],
'dimensions' => [new Dimension(
[
'name' => 'city',
]
),
],
'metrics' => [new Metric(
[
'name' => 'activeUsers',
]
)
]
]);
print 'Report result: ' . PHP_EOL;
foreach ($response->getRows() as $row) {
print $row->getDimensionValues()[0]->getValue()
. ' ' . $row->getMetricValues()[0]->getValue() . PHP_EOL;
}
I got it as follows:我得到它如下:
$client = new BetaAnalyticsDataClient( [
'credentials' => Google\ApiCore\CredentialsWrapper::build( [
'scopes' => [
'https://www.googleapis.com/auth/analytics',
'openid',
'https://www.googleapis.com/auth/analytics.readonly',
],
'keyFile' => [
'type' => 'authorized_user',
'client_id' => 'MY-CLIENT-ID',
'client_secret' => 'MY-CLIENT-SECRET',
'refresh_token' => 'REFRESH-TOKEN' // https://stackoverflow.com/questions/10827920/not-receiving-google-oauth-refresh-token
],
] ),
] );
for nodejs and as per sample on github of the library对于 nodejs 并根据库的 github 上的示例
const oAuth2Client = await getOAuth2Client();
const analyticsDataClient = getAnalyticsDataClient(oAuth2Client);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.