2009-07-28 17 views
6

Sto tentando di accedere direttamente a Google Analytics. Per spiegare, ho un sistema di account e mi piacerebbe che quando si seleziona un pulsante ASP.NET, per esempio, reindirizza te - tramite un login silenzioso - a un account Google Analytics specificato.Accesso remoto a Google Analytics con ASP.NET

Ho guardato a lungo e intensamente la libreria ASP.NET di Dave Cullen e sebbene possa accedere 'silenziosamente' utilizzando HttpWebRequest, non posso quindi attaccare l'utente su quella pagina. Sto avendo anche tutti i drammi con un errore "Impossibile inviare un content-body con questo tipo di verbo".

Ecco il codice di base che ho attualmente basato sulla libreria di 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); 

La mia domanda è quindi; 1. può essere fatto? e 2. questo è anche il modo giusto per farlo?

Consiglio benvenuto!

risposta

4

Non sono sicuro di quale sia l'obiettivo generale di accedere automaticamente a qualcuno in Google Analytics, ma se si tratta solo di visualizzare alcuni dati presenti in Google Analytics è possibile prendere in considerazione l'utilizzo dell'API dati di Google per estrarre le informazioni che desideri da Google Analytics. Potresti creare un semplice pannello di controllo di ciò che hanno realmente bisogno di vedere senza dare accesso ad altre cose in Google Analytics, accedendoti probabilmente avrai la possibilità di accedere a dati e strumenti di cui semplicemente non hanno bisogno?

Verificare l'API se non soddisfa le tue esigenze, magari fornire ulteriori informazioni sull'obiettivo generale è di questa funzionalità.

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

+0

Grazie per tutti i commenti. Ho esaminato l'API e sembra che sia la strada migliore. Grazie. – dooburt

+0

Uno scenario verso l'obiettivo generale sarebbe che stiamo già visualizzando in un'interfaccia utente semplice alcuni dati analitici basandosi sull'API, ma vogliamo sfruttare le interfacce utente esistenti su Google tramite un unico accesso in modo che l'utente possa 'visualizzare più' dettagli sul sito google analytics stesso .. che è il modo in cui sono atterrato su questo post. –

0

A meno che non siate disposti ad implementare un server proxy per proxy google analytics, non penso che sarete in grado di farlo perché non potete assegnare cookie al client per un altro dominio.

0

Se i token auth vengono memorizzati nei cookie è possibile aggiungere i cookie alla risposta ASP.NET - poi ospitare la pagina di Google in un IFRAME semplicemente impostando lo src (senza inline). Che IFRAME "erediterà" i cookie dalla tua pagina principale e la pagina penserà che sia autenticata.