谷歌分析

本文关键字:谷歌 | 更新日期: 2023-09-27 18:11:39

我只是谷歌分析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

请告诉我怎样才能避免这些错误。

谷歌分析

这就是解决方案,减少一个维度,它就会起作用。只允许7个维度,你用了8个

如果你想知道有多少访问者访问了每个页面,你应该只包括维度ga:pagePath。在我看来,你试图获取你想要的一切与一个单一的查询,而实际上你应该做多个查询。您还可以在查询资源管理器上测试您的查询:

首先用查询资源管理器检查它是否工作,然后检查您的代码。400错误并不只显示在这个问题上。可能是认证有问题