谷歌分析

时间:2011-10-18 11:06:11

标签: c# google-analytics

我只是Google Analytic 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. 

这两个网址之间唯一不同的是 ga:pagePath

请让我知道如何避免这些错误。 任何建议都表示赞赏。

3 个答案:

答案 0 :(得分:1)

这是解决方案,减少一个维度,它将起作用。 只允许7个维度,您使用8。

答案 1 :(得分:0)

如果您想查看每个访问过的访问者数量,则应仅包含维度ga:pagePath。在我看来,您尝试使用单个查询获取所需的所有内容,而实际上您应该执行多个查询。您也可以在query explorer上测试您的查询:

答案 2 :(得分:0)

首先检查query explorer,如果它正常工作,请检查您的代码。仅针对此问题不显示400错误。 可能是身份验证中的问题