谷歌分析
本文关键字:谷歌 | 更新日期: 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错误并不只显示在这个问题上。可能是认证有问题