Verwenden Sie die Google Analytics-API, um Informationen in C # anzuzeigen.
War ich auf der Suche nach einer guten Lösung den ganzen Tag, aber google entwickeln sich so schnell, dass ich nicht finden können, etwas zu arbeiten. Was ich tun möchte, ist, dass, ich habe eine Web-app, die hat ein admin-Abschnitt, wo Benutzer müssen angemeldet sein, um die information zu sehen. In diesem Abschnitt möchte ich zeigen einige Daten aus GA, wie Seitenaufrufe für bestimmte urls. Da es nicht der Benutzer Informationen, die ich zeige, aber die google-analytics-'user ich will schließen Sie die Weitergabe von Informationen (username/Passwort oder APIKey), aber ich kann nicht herausfinden, wie. Alle Beispiel-fand ich verwenden OAuth2 (Hexe, wenn ich verstehe, fragt die Besucher, um sich mit google).
Was ich bisher gefunden :
- Google official Client-Bibliothek für .Net : http://code.google.com/p/google-api-dotnet-client/keine Probe für GA
- offiziellen Entwickler helfen : https://developers.google.com/analytics/
- eine andere Frage, die mit dem code SO : Google Analytics-API Programmgesteuert abrufen Seitenaufrufe im server-Seite aber ich bekomme eine 403, wenn ich versuche, sich zu authentifizieren
- einige Quelle, die Zugriff auf die API : http://www.reimers.dk/jacob-reimers-blog/added-google-analytics-reader-for-net heruntergeladen die Quelle, aber ich kann nicht herausfinden, wie es funktioniert
- diese andere Frage SO : Google-Analytics-Zugriff mit C# aber es hilft nicht,
- beim schreiben dieser Sie schlagen mir vor das 09 alte post Google Analytics-API .Net...
Vielleicht bin ich einfach nur müde und morgen wird es leicht sein, eine Lösung zu finden, aber jetzt brauche ich Hilfe!
Dank
InformationsquelleAutor der Frage VinnyG | 2012-04-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe eine Menge von such-und schließlich entweder auf der Suche code aus mehreren Orten und dann packe meine eigenen Schnittstelle um ihn herum kam ich auf die folgende Lösung. Nicht sicher, wenn die Menschen fügen Ihrer ganzen code hier, aber ich denke, warum nicht speichern Sie alle anderen Zeit 🙂
Voraussetzungen, Sie müssen Sie installieren, Google.GData.Client und google.gdata.Analyse-Paket/dll.
Dies ist die Hauptklasse, die die Arbeit macht.
- Und dies ist die Schnittstelle und die Implementierung, die ich verwenden, um wickeln Sie es mit.
Und nun der rest ist die offensichtliche Zeug - müssen Sie die web.config-Werte für Ihre Anwendung-config oder über webconfig und rufen IPageViewCounter.GetPageViewCount
InformationsquelleAutor der Antwort MoXplod
Es erfordert ein wenig setup auf der google-Seite, aber es ist eigentlich ganz einfach. Ich werde die Liste Schritt für Schritt durch.
Zunächst müssen Sie eine Anwendung erstellen, in der Google cloud console und aktivieren Sie die Analytics-API.
Jetzt, dass die Analytics-API aktiviert ist, wird der nächste Schritt, um einen Dienst zu aktivieren Konto für den Zugriff auf Ihre gewünschten analytics-profile/- Seiten. Der service-Konto ermöglicht es Ihnen, log-in, ohne Aufforderung einen Benutzer zur Eingabe der Anmeldeinformationen.
erstellt aus dem drop-down.
erstellen Sie client-id.
download automatisch.Sie benötigen diese später, wenn Sie code für
die Autorisierung.
Nun haben wir ein service-Konto müssen Sie das Dienstkonto für den Zugriff auf Ihre profile/Seiten in Google Analytics.
Bildschirm.
Damit ist das setup fertig für das Dienstkonto für den Zugriff von Google Analytics über die API können wir anfangen zu Programmieren.
Holen Sie sich dieses Paket von NuGet:
Google.Apis.Analytics.v3-Client-Bibliothek
Fügen Sie diese aufzuhalten der Benutzung:
Einige Dinge zu beachten sind.
keyPath
ist der Pfad der Schlüssel-Datei, die Sie heruntergeladen mit ein .p12-Datei-Erweiterung.accountEmailAddress
ist die api E-Mail wir haben früher.Google.Apis.Analytics.v3.AnalyticService
Klasse, die bestimmt, die url zu verwenden, um zu autorisieren (ex:AnalyticsService.Scope.AnalyticsReadonly
).Dann den code, um einige grundlegende Aufrufe ist wie folgt.
Andere Links, die sich als hilfreich erweisen wird:
Analyse-API-Explorer - API für Abfragen Aus Dem Web
Analyse-API-Explorer-version 2 - API für Abfragen Aus Dem Web
Dimensionen und Metriken Referenz
Ich hoffe, dies hilft, dass jemand versucht, dies in der Zukunft tun.
InformationsquelleAutor der Antwort Logan G.
Hoffte ich nur auf einen Kommentar hinzufügen, der die Antwort für die v3 Beta, aber rep-Punkte verhindern. Aber ich dachte, es wäre schön für andere zu haben, diese Informationen, so ist es hier:
Diese Namensräume werden verwendet, während der code in diesem post. Ich habe immer wünschte, die Menschen würden post-name Leerzeichen häufiger, mir scheint, ich verbringe ein bisschen Zeit mit der Suche für Sie. Ich hoffe das spart einigen Leuten ein paar Minuten Arbeit.
InformationsquelleAutor der Antwort Jereme Guenther
Diese Antwort ist für diejenigen, die möchten, Zugang zu Ihren eigenen Analytics-Konto nutzen möchten und die neue Analytics-Reporting-API v4.
Ich schrieb vor kurzem einen blog-post darüber, wie Sie Google Analytics-Daten mithilfe von C#. Lesen Sie dort alle details.
Müssen Sie zuerst wählen Sie zwischen den Anschluss mit OAuth2 oder einen Service-Account. Ich nehme an Sie besitzen das Analytics-Konto, so müssen Sie erstellen eine "Service-account-key" aus der Google-APIs Anmeldeinformationen Seite.
Wenn Sie zu erstellen, lade die JSON-Datei und legen Sie es in Ihrem Projekt (ich habe mir in meinem
App_Data
Ordner).Als Nächstes installieren Sie die Google.Apis.AnalyticsReporting.v4 Nuget-Paket. Auch die Installation der Newtonsoft -Json.NET.
Gehören dieser Klasse, die irgendwo in Ihrem Projekt:
Und hier ist, was Sie gewartet haben: ein komplettes Beispiel!
Starten wir durch Deserialisieren der service-Konto-Schlüssel-Informationen aus der JSON-Datei und wandeln Sie es in ein
PersonalServiceAccountCred
Objekt. Dann erstellen wir dieServiceAccountCredential
und eine Verbindung zu Google über dieAnalyticsReportingService
. Mit diesem service, dann bereiten wir einige grundlegende Filter zu passieren, um die API und senden Sie die Anforderung.Ist es wahrscheinlich am besten, um einen Haltepunkt in der Zeile, wo der
response
variable deklariert ist, drücken Sie die F10-Taste einmal, dann bewegen Sie den Mauszeiger über die variable, so dass Sie sehen können, welche Daten Sie verwenden in der Antwort.InformationsquelleAutor der Antwort John Washam
Habe ich das setup etwas ziemlich ähnlich wie die obige Antwort in ein nuGet-Paket. Es führt Folgendes aus:
- eine Verbindung zu einem "Service-Konto" eingerichtet, die in der API-Konsole
- Zieht alle Google Analytics-Daten, die Sie möchten
- Zeigt, dass Daten mit Google Charts API
und es tut all dies auf eine sehr einfache Weise ändern. Sehen Sie mehr hier: https://www.nuget.org/packages/GoogleAnalytics.GoogleCharts.NET/.
InformationsquelleAutor der Antwort pharophy
Hoffen, dass google wird eine ordnungsgemäße Dokumentation eines Tages. Hier bin ich mit der Auflistung aller Schritte zur Integration von google analytics server-Seite-Authentifizierung in ASP.NET C#.
Schritt 1: Erstellen eines Projekts in google-Konsole
Goto der link https://console.developers.google.com/iam-admin/projects und erstellen Sie ein Projekt, indem Sie auf "Projekt Erstellen" - button und bieten Projekt-Namen in der pop-up-Fenster aus und senden Sie es ab.
Schritt 2: Erstellen von Anmeldeinformationen und-service Konto
Nach der Erstellung des Projektes, Sie werden weitergeleitet zu "API-Manager" - Seite.
Klicken Sie auf Anmeldeinformationen und drücken Sie die "Anmeldeinformationen Erstellen" - button. wählen Sie "service-Konto-Schlüssel" aus dem dropdown-Sie werden weitergeleitet zur nächsten Seite.
In der service-Konto-drop-down, wählen Sie "Neuer service-Konto". Füllen Sie den Namen des Dienstkontos ein, und laden Sie die p12-Taste. Es wird p12-Erweiterung. Sie erhalten ein popup mit einem Passwort "notasecret", die Standard-und private-key heruntergeladen werden.
Schritt 3: Erstellen 0auth client-ID
klicken Sie auf "Anmeldeinformationen erstellen" - dropdown und wählen Sie "0auth client-ID", die Sie umgeleitet werden "0auth Zustimmung screen" - tab. geben Sie einen beliebigen Namen in das Projekt Textfeld name ein. wählen Sie den Anwendungstyp "Web application" und klicken Sie auf die Schaltfläche erstellen. Kopieren Sie die generierten client-ID in einem Editor.
Schritt 4: Aktivieren der APIs
Auf der linken Seite klicken Sie auf den Reiter "Übersicht" und wählen Sie "Enabled APIs" aus dem horizontalen tab. In der Suchleiste Suche nach "Analytics API" klicken Sie auf die Dropdownliste, und drücken Sie die Schaltfläche "Aktivieren". Jetzt wieder die Suche nach "Analytics Reporting V4" und aktivieren Sie es.
Schritt 5: Installieren Sie nuget-Pakete
In visual studio, Gehen Sie zu Extras > Nuget-Paket-Manager - > Paket-Manager-Konsole.
Kopieren Sie den untenstehenden code in die Konsole zu installieren, die nuget-Pakete.
Install-Package Google.Apis.Analytics.v3
Install-Paket DotNetOpenAuth.Core -Version 4.3.4.13329
Die beiden oben genannten Pakete sind Google analytics und DotNetOpenAuth nuget-Pakete.
Schritt 6: Geben Sie 'Anzeigen und Analysieren' die Berechtigung service account
Gehen Sie zu google analytics-Konto und klicken Sie auf "Admin" - Registerkarte, und wählen Sie "User Management" von Links Menüs,wählen Sie eine Domäne, die Sie zugreifen möchten, analytics-Daten, und legen Sie die service-Konto-E-Mail-id, unter es und wählen Sie "Lesen und Analysieren" - Berechtigung aus der dropdown-Liste. Service-Konto E-Mail-id sieht aus wie ex: [email protected].
Funktionierenden Code
FRONT-END-CODE:
Kopieren und fügen Sie den unten analytics-Skript einbetten in Ihre front-end oder sonst können Sie diesen code von google-analytics-Dokumentation Seite auch.
Fügen Sie den folgenden code in den body-tag Ihrer front-end-Seite.
Können Sie auch Ihre Anzeigen-ID aus https://ga-dev-tools.appspot.com/account-explorer/
BACK-END-CODE:
InformationsquelleAutor der Antwort Rakesh Dadamatti
Anderen Funktionierenden Ansatz
Fügen Sie folgenden code in die ConfigAuth
Fügen Sie folgenden code, name spaces und relative Bezüge
Fügen Sie diese in der Application_Start() im Globalen.asax
InformationsquelleAutor der Antwort Parth Mistry