Фильтрация по стране с использованием API данных Google Analytics

StackOverflow https://stackoverflow.com/questions/1008138

  •  06-07-2019
  •  | 
  •  

Вопрос

Я пытаюсь использовать 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"

Очевидно, я пытался получить данные, которые недоступны. Это имеет смысл, если посмотреть на диаграмму проверки запросов в документации.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top