2009-07-28 170 views
6

我试图直接登录Google Analytics。为了解释,我有一个账户系统,当你选择一个ASP.NET按钮时,它会重新指引你 - 通过无声登录 - 指定一个Google Analytics帐户。使用ASP.NET远程登录Google Analytics

我在Dave Cullen的ASP.NET库中查找了很久并且很努力,虽然我可以使用HttpWebRequest'默默登录',但是我无法将该用户粘在该页面上。我有一个'不能发送一个内容与这个动词类型的错误'的错误allsorts。

这是目前我所根据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); 

因此,我的问题是;这可以做到吗?和2.这是甚至正确的方式来做到这一点?

建议欢迎!

回答

4

我不知道是什么在给谷歌Analytics(分析)签署人的总体目标是自动的,但如果它只是显示一些是在谷歌Analytics(分析)中的数据,你可能要考虑使用谷歌数据API拉您需要从Google Analytics获取的信息。您可以创建一个他们真正需要查看的简单仪表板,而无需访问Google Analytics中的其他内容,通过将它们记录到您最有可能让他们访问他们不需要的数据和工具?

退房的API,如果它不适合您的需求可能提供的总体目标一些更多的信息是这个功能。

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

+0

感谢您的所有意见。我已经看过API,它似乎是最好的路线。谢谢。 – dooburt 2009-09-07 11:25:07

0

除非你愿意执行代理服务器代理谷歌分析,我不认为你将能够做到这一点,因为你不能分配饼干给客户端的另一个领域。

0

如果身份验证令牌存储在cookie中,你可以将Cookie添加到您的ASP.NET回应 - 然后只需通过设置SRC(无内联)主持在IFRAME的谷歌网页。 IFRAME会从您的父页面“继承”Cookie,并且该页面会认为它已通过身份验证。