Google Analytics API - Filtering über .NET - so nah!
-
30-09-2019 - |
Frage
Guter Tag! Ich habe jetzt etwa 24 Stunden und Stackoverflow der Suche im Internet, und ich habe noch keine Antwort gefunden. Ich hoffe, dass ich etwas Einfaches bin fehlt, dass ein erfahrener API Benutzer für mich zeigen kann.
Ich bin Abfrage der Google Analytics API ihre .NET-Bibliothek. Diese Anforderung funktioniert:
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
... aber ich mag die Ergebnisse filtern. Ich habe einen einzigen sehr einfachen Filter versucht, die URL-Codierung nicht erforderlich:
filters=ga:city!@Minsk
Alles, was ich bekommen ist die maddeningly vage „400 Ungültige Anforderung“ Fehler. Ich bekomme das gleiche Ergebnis mit dem Gleichheitsoperator:
DataQuery query = new DataQuery(URL);
...
query.Filters = "ga:city==Minsk"
Das Gleiche gilt, wenn ich das Gleichheitszeichen als% 3D kodieren. „: City% 253D% 253DMinsk ga“, nach der Fehlermeldung Dies wird in übersetzt. Ich habe versucht, Single-Zitat „Minsk“ und doppelklicken zitierte sie; kein Glück.
Ich bin ratlos. Irgendwelche Ideen? Dank!
Lösung
es gefunden. Es stellt sich heraus, dass die Filter „kompatibel“ mit den Dimensionen und Kennzahlen ausgedrückt tatsächlich in einer Abfrage sein. Dropping ga: Besucher erlaubt mir die meisten Filter anwenden ich brauchte, obwohl die Kombination aus ga: pagePath und ga: Kampagne mit ga nicht erlaubt ist: Besuche ... aus irgendeinem Grund. Hier ist das Detail, aber seien Sie gewarnt:. Sie können bis schiel Ende
http://code.google.com/apis/analytics/ docs / gdata / gdataReferenceValidCombos.html
Oh, und mit der .NET-Bibliothek, die Sie brauchen nicht zu kodieren Gleichheitszeichen oder Leerzeichen in Ihrem Filter. Ich strukturiert meine Filter wie folgt aus:
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"
// ...
}
);
Hope, das hilft jemand!