2012-10-11 31 views
107

Estoy creando un guión, basado en Google Analytics guía paso a paso de esta página:Google Analytics API error 403: "El usuario no tiene ninguna cuenta de Google Analytics"

https://developers.google.com/analytics/resources/tutorials/hello-analytics-api

autorización se realiza sin problemas, hasta que intente acceder a los datos. El código de retorno es de 403, y el mensaje de error es:

User does not have any Google Analytics account

Este mensaje no tiene sentido: mi cuenta de Google tiene los datos de análisis, el seguimiento de varios sitios web, y puede acceder a él desde el navegador web sin problema. He permitido la API de Analytics a través de la consola de las API de Google, y el acceso a la API me proporciona datos correctos.

Respuesta

0

El usuario al que intenta utilizar la API no ha habilitado su servicio de GA.
Simply having a google account is not enough.

...However, just having a Google account does not automatically grant you access to Analytics. First, you must register for Google Analytics, a one-time, simple process...

+1

Por los sonidos de las cosas que él/ella está inscrito para GA ya. –

216

Tuve este problema también. Lo arreglé agregando la dirección de correo electrónico de mi cuenta de servicio al perfil de Google Analytics al que quería que accediera.

Recibí la dirección de correo electrónico (algo así como [email protected]) para la cuenta de servicio buscando en la pestaña "API Access" en la consola de API de Google.

Luego, seguí Google's instructions for adding an email address to an Analytics profile. Ahora todo está funcionando como se esperaba.

¡Buena suerte!

+6

¡Esta es la mejor respuesta, lo probé y funciona como el encanto! Muchas gracias @Sebastian! – mongotop

+1

si tiene más de un perfil en su cuenta y desea acceder a sus datos mediante GA API si continúa agregando [email protected] al perfil de Analytics, o hay una manera más eficiente sin involucrar una forma manual . ¡Gracias! – mongotop

+2

@mongotop ¡De nada! Lamentablemente, no conozco una forma más eficiente de hacer esto; háganos saber en los comentarios si encuentra uno. –

4

También recibirá este error si nunca ha iniciado sesión con la cuenta de google con la que intenta autenticarse.

+6

Dejaré esto aquí: enlace a la [interfaz web de Google Analytics] (https://www.google.com/analytics/web) – naXa

+0

¿Y dónde está la contraseña para el correo electrónico? Intenté la contraseña que google me muestra antes de descargar el certificado .p12 pero no es válida – ymakux

0

Tuve este problema también, y encontré que el problema era que había pedido demasiados permisos. La Consola de desarrollador dice que solicite los permisos http://www.googleapis.com/auth/analyticsyhttp://www.googleapis.com/auth/analytics.readonly. Esto no funcionó cuando también estaba usando el reclamo sub. Un reclamo sub indica a Google que emita un token de acceso que opera en nombre de otro usuario - en mi caso, la cuenta de Google propietaria de la cuenta de servicio. He quitado el permiso analytics y pegado con analytics.readonly con la sub reclamo:

{ 
    "iss":"[email protected]nt.com", 
    "sub":"[email protected]" 
    "scope":"http://www.googleapis.com/auth/analytics", 
    ... 
} 

El token al portador emitidas me permite hacer (al menos algunos) Google Analytics consultas a los perfiles que son propiedad completamente diferentes cuentas de Google, sino que se han compartido (solo lectura) con mi usuario de gmail ([email protected]).

+1

¿Qué es sub cuando uso el SDK del cliente de Google Analytics? – Dejell

+0

¡Ojalá hubiera funcionado! Recibo el siguiente error cuando trato de hacer lo mismo: Google_Auth_Exception [401]: Error al actualizar el token OAuth2, mensaje: '{"error": "cliente_autorizado", "error_description": "Cliente no autorizado o alcance solicitado. " } ' – SEoF

+0

Te sugiero que lo sigas. Todavía usamos esto para tomar datos en tiempo real de GA cada pocos minutos, ¡todos usando bash, nada menos! – mogsie

0

me las arreglé para arreglar esto asegurándose de que el cliente

= Google :: APIClient.new (: application_name => 'X',: versión_aplicación => '1') variable de nombre

aplicación 'X arriba era el nombre de CUENTA en el tablero de GA, no el nombre de PROPIEDAD, que en mi caso era la url real del sitio al que quiero acceder.

confuso, pero por suerte fijo (con no gracias a Google!)

+0

Estoy tratando de encontrar esta 'X'. ¿Puedes publicar una captura de pantalla? – Dejell

0

El problema ocurre ya que no proporcionan un argumento "sub". A menos que proporcionemos esto, la llamada se realiza en nombre de ese correo electrónico de la cuenta de servicio larga.

Así que solo proporcione un argumento secundario, con un correo electrónico al que ya haya dado acceso en el informe y ¡las cosas deberían funcionar bien!

55

Sólo añadir que dará correo electrónico (formato de [email protected]nt.com)

a los directores de los usuarios:

User does not have any Google Analytics account

gustaría que le ayuda

+1

Lamentablemente, el error no desapareció. Mensaje fijo: GAPI: no se pudieron solicitar los datos de la cuenta. Error: "{" error ": {" errors ": [{" domain ":" global "," reason ":" insufficientPermissions "," message ":" El usuario no tiene ninguna cuenta de Google Analytics. "}]," código ": 403," mensaje ":" El usuario no tiene ninguna cuenta de Google Analytics. "}}" – JosFabre

+2

¡Esto fue perfecto! ¡Gracias! –

+1

Gracias a ti ... finalmente funcionó. – CyberNinja

2

que estaba recibiendo el error 403 hasta que cambié los permisos de la cuenta de correo electrónico desde dentro de Google Analytics desde 'Leer & Analizar' a otra cosa, guardarlo y luego cambiar los permisos a 'Leer & Analizar 'y funcionó.

+0

Esto ayudó. Creé una nueva "Cuenta de servicio" en APIs y Auth/Credentials; y guardó el par de claves .p12. Luego entré en la consola de administración de usuarios de Analytics y agregué la dirección de correo electrónico del usuario del servicio. .p12 funciona la autorización con PHP API, pero solo si marcó "Leer y analizar" * solo * en la lista de permisos. –

1

Estaba llegando al error 403. Estos pasos me dieron la vuelta. Para ser claro, estaba tratando de obtener la muestra de Google "HelloAnalytics.php" trabajando con OAuth (sin interacción del usuario, adecuada para el trabajo cron, etc.).

Después de habilitar la API de Analytics, creé una nueva "Cuenta de servicio" en API & Auth/Credentials; y guardó el par de claves .p12. Luego entré en la consola de administración de usuarios de Analytics y agregué la dirección de correo electrónico del usuario del servicio.

p.12 autorización de uso de la API PHP funciona si puedo comprobar fuera única "Leer & Analizar" solamente en la lista de permisos. Si agrego "Administrar usuarios" y/o "Editar", obtengo el 403. Espero que esto sea útil, estuve rechinando en esto por un par de horas ...

4

Se menciona en un comentario anterior, pero si agrega la dirección de correo electrónico en la Administración de usuarios para su cuenta , no funcionará. Debe hacer clic en la Administración de usuarios en la parte de la pantalla.

enter image description here