我在一家拥有数百个客户分析账户的机构工作,当然,我们正在将所有客户转换为GA4.我正在try 将我们的报告和帐户管理脚本迁移到新的GA4 API https://github.com/googleapis/php-analytics-admin
在我们的UA管理脚本中,我们可以执行以下操作:
$client = new Google_Client();
$client->setAuthConfig('path-to-config.json');
$client->setSubject('admin-user-with-access-to-all-analytics@gmail.com');
这在旧的自由党中很管用.服务帐户具有对管理员用户的GA帐户的全域委派访问权限,并且API可以列出所有可用的GA属性.
在GA4的新PHP库中,您在.env文件中设置了配置路径,但似乎没有任何方法来设置主题.目前,客户端将只列出帐户到少数GA帐户,我们已经手动添加了服务帐户邮箱到.对于100多个账户来说,手动操作是不切实际的.
对于Python库来说,也有类似的问题.这位用户似乎找到了一种方法来做到这一点.但在整个PHP库中搜索,我没有看到任何这些等价的配置可用.有人查到这件事了吗?我知道这还在Beta中,所以可能最终会被添加进来? GCP: Allow Service Account to Impersonate a User Account with Google Analytics Scopes个
ANSWER thx to John Hanley个
use Google\Analytics\Admin\V1beta\AnalyticsAdminServiceClient;
use Google\Auth\Credentials\ServiceAccountCredentials;
$creds = new ServiceAccountCredentials('https://www.googleapis.com/auth/analytics.readonly','path/to/json-key.json','ga4-admin-email@gmail.com');
$client = new AnalyticsAdminServiceClient(['credentials' => $creds]);