Question

J'ai le code suivant pour interroger Google Analytics à l'aide de l'API C # V2.3:

string username = "SAMPLE@SAMPLE.COM";
string pass = "PASS";
string gkey = "?key=XXXXXXXXXXXXXXXXXXXXXXXXXXX";

string dataFeedUrl = "https://www.google.com/analytics/feeds/data" + gkey;            

AnalyticsService service = new AnalyticsService("API Sample");
service.setUserCredentials(username, pass);

DataQuery query1 = new DataQuery(dataFeedUrl);

query1.Ids = "ga:34197921";
query1.Dimensions = "ga:medium,ga:campaign,ga:date,ga:isMobile,ga:isTablet,ga:searchKeyword,ga:hostname";
query1.Metrics = "ga:visits,ga:visitors,ga:visitBounceRate,ga:goalStartsAll,ga:goalCompletionsAll,ga:goal1Starts,ga:goal1Completions,ga:goal2Starts,ga:goal2Completions,ga:goal3Starts,ga:goal3Completions,ga:goal4Starts,ga:goal4Completions,ga:adCost,ga:totalValue";
query1.Sort = "ga:date,ga:hour";
query1.NumberToRetrieve = 50;    

query1.GAStartDate = new DateTime(2012, 1, 2).ToString("yyyy-MM-dd");
query1.GAEndDate = DateTime.Now.ToString("yyyy-MM-dd");
query1.StartIndex = 1;
DataFeed dataFeedVisits = service.Query(query1);

foreach (DataEntry entry in dataFeedVisits.Entries)
{
.... 
}

J'aimerais mettre à niveau la nouvelle API V3 plus récente, mais je trouve difficile de voir des exemples simples en ligne lorsque quelqu'un authentifie à l'aide de Google Oauth, puis interroge les données Google Analytics.

J'installe le package Nuget suivant: Install-package google.apis.analytics.v3 -pre Dans une nouvelle solution C #, cela me donne les références supplémentaires suivantes:

  • google.apis
  • google.apis.analytics.v3
  • google.apis.auth
  • google.apis.auth.platformservices
  • google.apis.platformservices
  • log4net
  • Newtownsoft.json
  • zlib.portable

J'ai vu cet article, qui semble exécuter une pièce de code similaire à ce que je dois courir: Comment envoyer Google Query de rapport analytique à l'aide de ASP.NET Google Analytic API Version 3 (Google.Apis.Analytics.v3.dll)?

Cependant, aucun du code de cet article ne résout à l'aide des bibliothèques Google qui a référencé dans le Nuget.

Qu'est-ce que je manque et comment puis-je compléter la photo? Comment puis-je authentifier et exécuter ma requête à Google Analytics?

pouce vers Google pour ne pas avoir de tutoriel facile à suivre en ligne pour prendre en charge leur bibliothèque .NET!

Merci d'avance pour tout conseil!

Était-ce utile?

La solution

Accéder à Google Analtyics avec la bibliothèque client V3 est vraiment sympa tbh.La seule chose que je n'ai pas travaillé est de savoir comment l'envoyer un rafraîchissant que j'ai stocké dans la base de données.Je suis coincé avec celui qui me stocke sur le PC.

Demande AVISTication: Tous les trucs SCRÈT client sont stockés dans Client_Secret.json Vous pouvez télécharger le fichier de Google Apis Consol.Il apparaîtra une fenêtre de navigateur si elle n'a pas l'approbation si elle le fera simplement continuer.

private void Form1_Load(object sender, EventArgs e)
{
 UserCredential credential;
 using (var stream = new System.IO.FileStream("client_secret.json", System.IO.FileMode.Open, System.IO.FileAccess.Read))
 {
  credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
  GoogleClientSecrets.Load(stream).Secrets,
  new[] { AnalyticsService.Scope.AnalyticsReadonly },
  "user", CancellationToken.None, new FileDataStore("Analytics.Auth.Store")).Result;
  }

}

Maintenant pour accéder à Google Analytics, vous devez créer un service d'analyse.

AnalyticsService service = new AnalyticsService(new BaseClientService.Initializer() {
 HttpClientInitializer = credential,
 ApplicationName = "Analytics API sample",
 });

Tous vos appels seront maintenant courus contre cela.

Le vôtre devrait finir par être quelque chose comme:

DataResource.GaResource.GetRequest request = service.Data.Ga.Get(ga:34197921, new DateTime(2012, 1, 2).ToString("yyyy-MM-dd"), DateTime.Now.ToString("yyyy-MM-dd"), ""ga:visits,ga:visitors,ga:visitBounceRate,ga:goalStartsAll,ga:goalCompletionsAll,ga:goal1Starts,ga:goal1Completions,ga:goal2Starts,ga:goal2Completions,ga:goal3Starts,ga:goal3Completions,ga:goal4Starts,ga:goal4Completions,ga:adCost,ga:totalValue");
request.Dimensions = "ga:medium,ga:campaign,ga:date,ga:isMobile,ga:isTablet,ga:searchKeyword,ga:hostname";

J'ai un poteau de blog qui fonctionne bien que la plupart des appels différents que vous puissiez faire. http://daimto.com/google-analytics-api-v3-with-C /

Autres conseils

J'avais le même problème.J'avais installé les packages Nuget, mais obtenir la même erreur "Impossible de charger le fichier ou l'assemblage 'Microsoft.threading.Tasks.extensions.desktop, version= 1.0.16.0, Culture= neutre, PublickeyToken= B03F5F7F11D50A3A' ou une de ses dépendances. Le système ne peut pas trouver le fichier spécifié."J'ai essayé de supprimer et de réinstaller les packages Nuget en vain.Donc, je viens de rechercher le fichier Microsoft.Trireading.Tasks.extensions.desktop.dll et il a été trouvé dans le dossier Net40.Je l'ai copié dans mon dossier bin et puis cela a fonctionné.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top