2009-07-28 16 views
6

Estoy intentando iniciar sesión directamente en Google Analytics. Para explicarlo, tengo un sistema de cuentas y me gustaría que cuando seleccionas un botón ASP.NET, por ejemplo, te redirija, a través de un inicio de sesión silencioso, a una cuenta de Google Analytics específica.Iniciar sesión remotamente en Google Analytics con ASP.NET

He mirado largamente en la biblioteca ASP.NET de Dave Cullen y aunque puedo iniciar sesión 'silenciosamente' usando HttpWebRequest, no puedo pegar al usuario en esa página. Estoy teniendo todo tipo de dramas con un error 'No puedo enviar un cuerpo de contenido con este tipo de verbo' también.

Aquí está el código básico que actualmente tengo basado en la biblioteca de Dave;

string token = GoogleAnalytics.getSessionTokenClientLogin(username, password); 
    NameValueCollection profiles = GoogleAnalytics.getAccountInfo(token, GoogleAnalytics.mode.ClientLogin); 

    HttpWebRequest theRequest = (HttpWebRequest)WebRequest.Create("https://www.google.com/analytics/settings/?et=reset&hl=en_uk&et=reset&hl=en-US&et=reset&hl=en-GB"); 
    theRequest.Headers.Add("Authorization: GoogleLogin auth=" + token); 
    Stream responseBody = theRequest.GetRequestStream(); 
    Encoding encode = System.Text.Encoding.GetEncoding("utf-8"); 
    StreamReader readStream = new StreamReader(responseBody, encode); 

Mi pregunta es por lo tanto; 1. ¿se puede hacer esto? y 2. ¿es esta la forma correcta de hacer esto?

¡Recomendación bienvenida!

Respuesta

4

No estoy seguro de cuál es el objetivo general de contratar a alguien en Google Analytics automáticamente, pero si es solo para mostrar algunos de los datos que están en Google Analytics es posible que desee utilizar la API de datos de Google para extraer la información que desea de Google Analytics. Podría crear un panel sencillo de lo que realmente necesitan ver sin dar acceso a otras cosas en Google Analytics; al iniciar sesión, lo más probable es que les dé acceso a datos y herramientas que simplemente no necesitan.

Consulte la API si no se ajusta a sus necesidades, tal vez proporcione más información sobre el objetivo general de esta funcionalidad.

http://code.google.com/apis/analytics/

+0

Gracias por todos los comentarios. Miré la API y parece ser la mejor ruta. Gracias. – dooburt

+0

Un escenario para el objetivo general sería que ya estamos visualizando en una interfaz de usuario simple algunos datos analíticos básicos extrayéndolos de la API, pero queremos aprovechar la interfaz de usuario existente en Google mediante inicio de sesión único para que el usuario pueda 'ver más' detalles en el sitio de Google Analytics en sí ... que es cómo llegué a esta publicación. –

0

A menos que esté dispuesto a implementar un servidor proxy para proxy google analytics, no creo que pueda hacerlo porque no puede asignar cookies al cliente para otro dominio.

0

Si los tokens de autenticación se almacenan en las cookies, puede agregar las cookies a su respuesta de ASP.NET, luego alojar la página de google en un IFRAME simplemente configurando el src (sin alineación). Ese IFRAME "heredará" las cookies de su página principal y la página creerá que está autenticada.

Cuestiones relacionadas