2009-07-28 171 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,並且該頁面會認爲它已通過身份驗證。