PHP Google Analytics 4 Admin — получение учетных записей GA

Я перемещаю код из нашей среды разработки в промежуточную среду. Я создал проект, клиент 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? Этот код работает в моей среде разработки (другой проект Google)

Как вы предоставили доступ к сервисному аккаунту?

Linda Lawton - DaImTo 18.04.2023 17:43

В консоли аналитики, где я создал учетную запись, я нажал «Управление доступом к учетной записи» и добавил адрес электронной почты служебной учетной записи с ролью «Администратор».

Andy Wallace 18.04.2023 18:27

В связи с этим возникает еще один вопрос: когда я создаю учетные записи с помощью API подготовки учетных записей, после принятия ToS и создания учетной записи мне нужно будет перейти к этой учетной записи в консоли и предоставить доступ к моей служебной учетной записи?

Andy Wallace 19.04.2023 01:39
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
51
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Хорошо, проблема действительно заключалась в доступе - я предоставил своему пользователю доступ к учетной записи, а не к самой учетной записи службы. Как только это было на месте, я был настроен.

Данг.

Другие вопросы по теме