PHP Google Analytics 4 Admin - 检索 GA 帐户

问题描述 投票:0回答:1

我正在将代码从我们的开发环境转移到暂存环境。我在该项目中创建了一个项目、一个 oauth 客户端、用户和一个服务帐户。在分析控制台中,我看到了我的第一个帐户,它有一个属性。但是当我运行以下代码时,它告诉我没有帐户:

$env_string = "GOOGLE_APPLICATION_CREDENTIALS=" . PATH_TO_MY_KEY_FILE;
putenv($env_string);

$this->google_analytics_service_client = new AnalyticsAdminServiceClient();

try
{
    // make the API call.
    $account_summary_list = $analytics_service_client->listAccountSummaries();

    print "List of accounts:\n";
    foreach ($account_summary_list->iterateAllElements() as $element) 
    {
        print " -- {$element->getDisplayName()}\n";
    }
}
catch(Exception $e)
{
    print( "There was an Exception: " . $e->getMessage());
}
finally
{
    $analytics_service_client->close();
}

我的服务帐户的 json 文件的内容:

{
    "type": "service_account",
    "project_id": "MY_PROJECT_ID",
    "private_key_id": PRIVATE_KEY_ID,
    "private_key": PRIVATE_KEY_CONTENTS,
    "client_email": SERVICE_ACCOUNT_EMAIL,
    "client_id": CLIENT_ID,
    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
    "token_uri": "https://oauth2.googleapis.com/token",
    "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
    "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/ga4-stage-bucket-1%40ga4-stage-01.iam.gserviceaccount.com"
}

这是我的 Google 项目的正确密钥文件。 project_id 就在密钥文件中,我授予该服务帐户帐户的管理员访问权限(目前)——为什么我没有从 listAccountSummaries 调用中得到任何回复?这段代码在我的开发环境中工作(不同的谷歌项目)

php google-analytics-api google-analytics-4
1个回答
0
投票

好的,问题确实出在访问权限上——我已经授予我的用户访问帐户的权限,而不是服务帐户本身。一旦到位,我就准备好了。

该死的

© www.soinside.com 2019 - 2024. All rights reserved.