Подтвердить что ты не робот

API Google Analytics. Невозможно добавить службы после аутентификации.

В консоли Google я создал учетные данные для сервера ключей ключей API и для Oauth с типом Other.

Для ключа разработчика я использую учетные данные ключа API, а для id/secret клиента я использую Oauth Credentials

Я использую php sdk для google analytics api:

$client = new Google_Client();
$client->setApplicationName('Schedule GA');
$client->setAccessType('offline');
$client->setUseObjects(true);

$ganalytics_settings = wp_get_custom_field_for_current_user('ganalytics_settings', 'ga_settings');

$ganalytics_settings['google_api_key'] = 'c0f3d189e82938128ndoea1a426ee4e264e4b0b0';
$ganalytics_settings['google_client_id'] = '17381202384367-gejnedh2aijuq1660f0lvl5uvj6roloo4.apps.googleusercontent.com';
$ganalytics_settings['google_client_secret'] = '**Secret key**';

$client->setClientId("17381202384367-gejnel2aijuq1060f0lvl5uvj6roloo4.apps.googleusercontent.com");
$client->setClientSecret("QclsDKOSLcsrbpJD_KLbIUtQ");
$client->setDeveloperKey("c0f3d189e82938128ndoea1a426ee4e264e4b0b0");
$client->setRedirectUri('urn:ietf:wg:oauth:2.0:oob');
$analytics = new Google_AnalyticsService($client); //the error occurs here!!!

// Setting Access Token

$access_token = $ganalytics_settings['google_access_token'];
if ($access_token) {
    $client->setAccessToken($access_token);
}
else {
    if ($ganalytics_settings['google_auth_code']) {
        $client->authenticate($ganalytics_settings['google_auth_code']);
        $ganalytics_settings['google_access_token'] = $client->getAccessToken();

        // update_option('ganalytics_settings', $ganalytics_settings);
        ga_settings_exists_else_update();
    }
}

Однако я получаю следующее сообщение об ошибке:

Cant add services after having authenticated

Любое предложение, что я делаю неправильно?

Я ценю ваш ответ!

4b9b3361

Ответ 1

Сначала нужно установить область, например:

$client->setScopes(['https://www.googleapis.com/auth/analytics.readonly']);

Этот учебник может помочь вам в будущем.