Я пытаюсь использовать API данных Google Analytics для фильтрации данных по стране. Я использую библиотеку .NET по адресу http://google -gdata.googlecode.com / svn / trunk / , которая прекрасно работает, если я не пытаюсь фильтровать по стране.
Это прекрасно работает:
const string dataFeedUrl = "https://www.google.com/analytics/feeds/data"; var query = new DataQuery(dataFeedUrl); query.Ids = this.ProfileID; query.GAStartDate = this.FromDate; query.GAEndDate = this.ToDate; query.Metrics = "ga:newVisits,ga:visitors"; DataFeed dataFeed = this.AnalyticsService.Query(query);
Но если я добавлю это до вызова Query:
query.Filters = string.Format("ga:country=={0}", this.Country); query.Dimensions = "ga:country";
... Я получаю это исключение:
System.Exception {Google.GData.Client.GDataRequestException} "Execution of request failed: https://www.google.com/analytics/feeds/data?dimensions=ga:country&end-date=2009-06-17&filters=ga:country==Denmark&ids=ga:xxx&metrics=ga:newVisits,ga:visitors&start-date=2009-05-18"
Я пытался вручную экранировать == в% 3D% 3D, но это не помогло.
Есть идеи?
Я наконец нашел ResponseString и увидел это сообщение:
"Illegal combination of dimensions and metrics"
Видимо, я пытался получить данные, которые недоступны. Это имеет смысл, если взглянуть на диаграмму проверки запросов в документации.