2009-07-28 8 views
6

Ich versuche mich direkt bei Google Analytics anzumelden. Um zu erklären, ich habe ein Konto-System und ich möchte, wenn Sie eine ASP.NET-Schaltfläche zum Beispiel wählen Sie es umleiten - über eine stille Anmeldung - zu einem angegebenen Google Analytics-Konto.Remote-Anmeldung bei Google Analytics mit ASP.NET

Ich habe lange und intensiv in Dave Cullens ASP.NET-Bibliothek gesucht und obwohl ich mich mit HttpWebRequest 'still' anmelden kann, kann ich den Benutzer nicht auf diese Seite kleben. Ich habe auch alle Serien von Dramen mit einem 'Kann nicht einen Inhalt-Körper mit diesem Verb-Typ' Fehler auch senden.

Hier ist der sehr grundlegende Code, den ich derzeit auf Daves Bibliothek basiert habe;

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

Meine Frage ist daher; 1. Kann dies getan werden? und 2. ist das überhaupt der richtige Weg?

Beratung willkommen!

Antwort

4

Ich bin mir nicht sicher, was das allgemeine Ziel der automatischen Anmeldung bei Google Analytics ist, aber wenn Sie nur einige der Daten in Google Analytics anzeigen möchten, sollten Sie das Google Data API verwenden die Informationen, die Sie von Google Analytics erhalten möchten. Sie könnten ein einfaches Dashboard erstellen, das sie wirklich sehen müssen, ohne auf andere Dinge in Google Analytics zugreifen zu müssen. Indem Sie sich anmelden, geben Sie ihnen höchstwahrscheinlich Zugriff auf Daten und Tools, die sie gerade nicht benötigen.

Überprüfen Sie die API, wenn es nicht Ihren Anforderungen entspricht, bieten Sie möglicherweise einige weitere Informationen über das Gesamtziel dieser Funktionalität.

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

+0

Vielen Dank für alle Kommentare. Ich habe mir die API angesehen und es scheint die beste Route zu sein. Vielen Dank. – dooburt

+0

Ein Szenario in Richtung des Gesamtziels wäre, dass wir bereits einige einfache Analysedaten in einer einfachen Benutzeroberfläche anzeigen, indem wir von der API ziehen, aber die bestehenden Benutzeroberflächen bei Google mittels Single Sign On nutzen möchten, sodass der Benutzer mehr Details anzeigen kann auf der Google Analytics-Website selbst. So bin ich auf diesem Post gelandet. –

0

Sofern Sie nicht bereit sind, einen Proxyserver für Proxy-Analysen von Google Analytics zu implementieren, werden Sie dies nicht tun können, da Sie dem Client keine Cookies für eine andere Domäne zuweisen können.

0

Wenn die Authentifizierungs-Tokens in Cookies gespeichert sind, können Sie die Cookies zu Ihrer ASP.NET-Antwort hinzufügen - dann hosten Sie die Google-Seite in einem IFRAME, indem Sie nur den Eintrag src (kein Inlining) festlegen. Dieser IFRAME wird die Cookies von Ihrer übergeordneten Seite "erben" und die Seite wird glauben, dass sie authentifiziert ist.