谷歌分析API-通过.NET过滤-如此接近!
下午好!我已经在StackOverflow和web上搜索了大约24小时,但还没有找到答案。我希望我错过了一些简单的东西,一个更有经验的API用户可以为我指出 我正在使用他们的.NET库查询Google Analytics API。这项要求适用于:谷歌分析API-通过.NET过滤-如此接近!,.net,google-analytics-api,.net,Google Analytics Api,下午好!我已经在StackOverflow和web上搜索了大约24小时,但还没有找到答案。我希望我错过了一些简单的东西,一个更有经验的API用户可以为我指出 我正在使用他们的.NET库查询Google Analytics API。这项要求适用于: https://www.google.com/analytics/feeds/data?start-index=1&max-results=500&dimensions=ga:date&end-date=2011-01-06&a
https://www.google.com/analytics/feeds/data?start-index=1&max-results=500&dimensions=ga:date&end-date=2011-01-06&ids=ga:________&metrics=ga:visitors,ga:visits&start-date=2011-01-06
…但我想过滤结果。我尝试了一个非常简单的过滤器,它不需要URL编码:
filters=ga:city!@Minsk
我得到的只是令人发狂的模糊的“400错误请求”错误。我使用equals运算符得到相同的结果:
DataQuery query = new DataQuery(URL);
...
query.Filters = "ga:city==Minsk"
如果我将等号编码为%3D,则同上。根据错误消息,这将被转换为“ga:city%253D%253DMinsk”。我试过单引用“明斯克”,双引用;不走运
我被难住了。有什么想法吗?谢谢 找到了。事实证明,过滤器必须与查询中实际表达的维度和度量“兼容”。删除ga:visitors允许我应用我需要的大多数过滤器,尽管ga:pagePath和ga:campaign的组合不允许与ga:Visitions一起使用。。。出于某种原因。这里有一些细节,但要注意:你可能会以斗鸡眼告终 哦,使用.NET库,您不需要在过滤器中编码等号或空格。我的过滤器结构如下:
private static readonly string Filter = string.Join
(
";", new string[]
{
"ga:city!=Simi Valley", // URL encoding is handled for you
"ga:pagePath!@/splash",
"ga:pagePath!@static_test",
"ga:networkLocation!@spring",
"ga:networkLocation!@equinix asia pacific pte ltd"
// ...
}
);
希望这对别人有帮助