2009-06-17 3 views
0

Ich versuche, das Google Analytics-Daten-API zu verwenden, um die Daten nach Ländern zu filtern. Ich verwende die .NET-Bibliothek unter http://google-gdata.googlecode.com/svn/trunk/, die wunderbar funktioniert, solange ich nicht nach Land zu filtern versuche.Filtern nach Land mit der Google Analytics-Daten-API

Dies funktioniert:

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); 

Aber wenn ich dies vor dem Abfrage-Aufruf hinzu:

query.Filters = string.Format("ga:country=={0}", this.Country); 
query.Dimensions = "ga:country"; 

... Ich erhalte diese Ausnahme:

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" 

Ich habe versucht manuell escaping == zu% 3D% 3D, aber das hat nicht geholfen.

Irgendwelche Ideen?

+0

Was ist der Fehler, wenn Sie das == zu% 3D% 3D kodieren? (Für mich ist das hier das einzige Problem) –

Antwort

0

Ich fand schließlich die ResponseString und sah diese Nachricht:

"Illegal combination of dimensions and metrics" 

Anscheinend habe ich zu bekommen Daten versucht, die nicht verfügbar ist. Dies macht Sinn, wenn man sich die Query Validation Chart in der Dokumentation anschaut.