2011-10-18 357 views
1

我只是Google分析API的初學者。
現在我正在測試此代碼。谷歌分析

public static string HttpGetRequest(string url, string[] headers) 
{ 
    String result; 
    WebRequest request = WebRequest.Create(url); 
    if (headers.Length > 0) 
    { 
     foreach (var header in headers) 
     { 
      request.Headers.Add(header); 
     } 
    } 
    WebResponse response = request.GetResponse(); 
    using (var sr = new StreamReader(response.GetResponseStream())) 
    { 
     result = sr.ReadToEnd(); 
     sr.Close(); 
    } 
    return result; 
} 

上的代碼運行時正確URL

https://www.google.com/analytics/feeds/data?ids=ga:xxxxxxxx&dimensions=ga:browser,ga:browserVersion,ga:city,ga:date,ga:hour,ga:visitCount,ga:visitorType&metrics=ga:entrances,ga:uniquePageviews&start-date=2011-09-18&end-date=2011-10-18&sort=-ga:entrances&max-results=50

然後將此上的代碼返回正確的信息。
但是,當我URL值更改爲

https://www.google.com/analytics/feeds/data?ids=ga:xxxxxxxx&dimensions=ga:pagePath,ga:browser,ga:browserVersion,ga:city,ga:date,ga:hour,ga:visitCount,ga:visitorType&metrics=ga:entrances,ga:uniquePageviews&start-date=2011-09-18&end-date=2011-10-18&sort=-ga:entrances&max-results=50

它給這個錯誤。

The remote server returned an error: (400) Bad Request. 

這兩個URL之間的唯一區別是GA:PAGEPATH

請讓我知道如何避免這些錯誤。 任何類型的建議表示讚賞。

+0

您確定ga:pagePath是否有效,錯誤將表明它不是。 –

+0

對不起拉姆霍德,我不清楚你想說什麼。 –

+0

我很確定只有當我把URL值寫入ga:pagePath時纔會出現這個錯誤。 –

回答

0

如果你想看看有多少訪問者訪問了每一頁,你應該只包括維度ga:pagePath。在我看來,你試圖用單個查詢來獲取你想要的所有東西,事實上你應該做多個查詢。您也可以在query explorer上測試您的查詢:

1

這是解決方案,減少一個維度,它將起作用。 只允許使用7個尺寸,您使用了8個。

0

首先檢查query explorer,如果它正在工作與否,則檢查您的代碼。 400錯誤不僅僅出現在這個問題上。 可能是身份驗證問題