javascript - code - ¿Cómo evito este error SAMEORIGIN de X-Frame-Options cuando ejecuto el tutorial de la API "Hello Analytics" de Google?
google analytics tracker (5)
He estado intentando ejecutar el tutorial https://developers.google.com/analytics/solutions/articles/hello-analytics-api para comenzar a utilizar los datos de Google Analytics mediante programación.
He copiado los archivos de muestra exactamente, pero cuando accedo a ellos a través de localhost en Chrome, recibo el siguiente error en la consola de JavaScript y me redireccionan a about:blank
:
Refused to display ''https://accounts.google.com/o/oauth2/auth?client_id=363192057646-fbj7q1oais...%2Flocalhost&response_type=token&state=327475409%7C0.2024869166&authuser=0'' in a frame because it set ''X-Frame-Options'' to ''SAMEORIGIN''.
He intentado todo tipo de ajustes pero no puedo hacer desaparecer este error. Espero que alguien pueda ayudar (o, de hecho, me dirija a un ejemplo simple y funcional de Javascript para acceder a la API de Google Analytics).
Ayer tuve el mismo problema, pero luego me di cuenta de que estaba usando la ID de cliente incorrecta en mis credenciales.
Debería verificar si creó un ''ID de cliente para aplicación web'' en las API y autenticación> Credenciales . Y luego usar ese ID de cliente.
En mi caso, creé erróneamente una ''Cuenta de servicio'' primero y usé esa ID de cliente. Luego me di cuenta del error, creé una " aplicación web " y reemplacé el ID de cliente en hello_analytics_api_v3_auth.js (según el tutorial en https://developers.google.com/analytics/solutions/articles/hello-analytics-api ).
Por cierto, no se olvide de crear una clave de acceso de API pública.
EDITAR: si está utilizando el ejemplo de google, corrija la siguiente función:
function handleAuthResult(authResult) {
if (authResult) {
gapi.client.load(''analytics'', ''v3'', handleAuthorized);
} else {
handleUnauthorized();
}
}
En la sentencia if, cambie a:
if (authResult && !authResult.error)
Así que terminarías con:
function handleAuthResult(authResult) {
if (authResult && !authResult.error) {
gapi.client.load(''analytics'', ''v3'', handleAuthorized);
} else {
handleUnauthorized();
}
}
Mi colega encontró el error e hizo una solicitud de extracción para solucionarlo. Espero que eso solucione el problema ahora. Se ordenó por mí ;-)
Estaba teniendo el mismo problema con un ejemplo de tabla Fusion que encontré en línea.
Ninguna de las respuestas que encontré en línea fue útil en absoluto, pero finalmente resolví el problema de la siguiente manera:
Abre la consola dev en Chrome, que muestra el error y la URL a la que intenta acceder, abre la URL en una nueva pestaña.
La página muestra esto:
400. That’s an error.
Error: invalid_request
Parameter not allowed for this message type: client_secret
Así que edité el código:
function auth(immediate) {
gapi.auth.authorize({
client_id: clientId,
<!--client_secret: clientSecret,-->
scope: scopes,
immediate: immediate
}, handleAuthResult);
}
Et voila (:
He tenido este mensaje de error muchas veces antes. La mayoría de las veces acabo de llamar la API de Google de manera inconsistente. Para averiguar, haga clic en la URL en el dev. consola. Se abre una nueva ventana y aparece un mensaje como este:
400.
That’s an error.
Error: invalid_scope
Some requested scopes were invalid ...
Lo hice funcionar limpiando mis cookies. - La solución publicada en este problema similar aquí: API de Google "400 (Solicitud incorrecta)" y "Se negó a mostrar ... en un marco porque configuró ''Opciones de marco X'' en ''SAMEORIGIN''". errores
Verifique la URL de los orígenes de JavaScript autorizados en la consola de la API de Google en su Configuración de Oauth. Aquí debe estar donde está autorizando el javascript.