Google Analytics Core Reporting API версии 3.0 без входа в систему

Я хочу получить доступ к нашей учетной записи Google Analytics, используя новую версию v3.0, но, похоже, из всего, что я прочитал, чтобы получить действительный токен доступа, пользователь должен войти в систему.

Мы хотим получить прямой доступ к нашей собственной учетной записи, а не к клиенту в зависимости от их учетной записи. Как это сделать на PHP без необходимости отправки браузера на страницу входа в Google? Нет ли прямой аутентификации API для v3.0?

РЕДАКТИРОВАТЬ

Это, по-видимому, единственный метод доступа к API без взаимодействия с конечным пользователем, который они называют «Server to Server»:

https://developers.google.com/accounts/docs/OAuth2ServiceAccount

EDIT 2

Похоже, это невозможно сделать? ; (

Предупреждение: очень немногие API Google в настоящее время поддерживают учетные записи службы. В настоящее время учетные записи служб поддерживаются следующими службами разработчика Google:

  • Google Cloud Storage
  • Google Prediction API
  • Google Сократ URL
  • Сервер авторизации Google OAuth 2.0

ИЗМЕНИТЬ 3

Кажется, что решение есть, когда я вхожу один раз, а затем использую «Обновить токены», чтобы получить доступ без дополнительного входа пользователя.

Solutions Collecting From Web of "Google Analytics Core Reporting API версии 3.0 без входа в систему"

Я в конечном итоге использовал токены обновления, они отлично работают. Я получил маркер oauth, используя консоль google api, а затем сохранил его.

Затем я делаю это перед каждым запросом:

require_once 'google-api-php-client/src/apiClient.php'; require_once 'google-api-php-client/src/contrib/apiAnalyticsService.php';; $client = new apiClient(); $client->setApplicationName('My Analytics'); $client->setClientId($this->client_id); $client->setClientSecret($this->client_secret); $client->setDeveloperKey($this->api_key); $client->setScopes(array('https://www.googleapis.com/auth/analytics.readonly')); $client->refreshToken($this->refresh_token); $this->service = new apiAnalyticsService($client);