2012-08-15 19 views
7

Quiero acceder a nuestros informes de cuenta de Google Analytics con la versión v3.0 más reciente, pero de todo lo que he leído parece que para obtener un token de acceso válido el usuario debe iniciar sesión en.Google Analytics Core Reporting API versión 3.0 sin inicio de sesión de cliente

Queremos acceso directo a los informes de nuestra propia cuenta, y no acceder a un cliente según su cuenta. ¿Cómo logramos esto en PHP sin tener que enviar el navegador a una página de inicio de sesión de Google? ¿No hay una autenticación API directa para v3.0?

EDITAR

Esto parece ser el único método de acceso a la API sin interacción del usuario final, que ellos llaman "Servidor al servidor":

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

EDIT 2

Parece que no se puede hacer? ; (

Advertencia: Muy pocos API de Google actualmente soportan las cuentas de servicio cuentas de servicio son actualmente compatibles con los siguientes servicios para desarrolladores Google :

  • Google Cloud Storage
  • API
  • Google Predicción.
  • Google URL Shortener
  • Google OAuth 2.0 Authorization Server

EDITAR 3

No parece haber una solución después de todo, ya que iniciar sesión una vez y luego usar "refrescar" Fichas para mantener el acceso sin una entrada adicional del usuario.

+0

Hola @Sarke, esta es una pregunta de la vida real que la mayoría de los programadores de API GA-topan, estoy corriendo en él ahora, quiero preguntar si encuentra alguna solución para ello, leí en alguna parte que debería guardar el token de acceso y el token de actualización como una variable y alimentarlo a la función SetAcess(), pero no conseguí que funcionara. por favor, avíseme si descubre algo y publica un fragmento de código que será muy apreciado. Gracias – mongotop

Respuesta

1

Terminé utilizando los tokens de actualización, funcionan bien. Obtuve un token oauth al usar la consola google api, y luego lo guardé.

Entonces acabo de hacer esto antes de cada solicitud:

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); 
Cuestiones relacionadas