Domanda

Ho il seguente codice per interrogare Google Analytics utilizzando 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)
{
.... 
}
.

Vorrei aggiornare la nuova API V3 V3 ma trovare difficoltà a vedere qualsiasi semplice esempi online in cui qualcuno autentica utilizzando Google Oauth e poi interroga i dati di Google Analytics.

Installa il seguente pacchetto NUGET: install-package google.apis.analytics.v3 -pre In una nuova soluzione C #, mi dà i seguenti riferimenti aggiuntivi:

    .
  • google.apis
  • google.apis.analytics.v3
  • google.apis.auth
  • google.apis.auth.platformservices
  • google.apis.platformservices
  • log4net
  • newtownsoft.json
  • zlib.Portable

Ho visto questo articolo, che sembra eseguire un pezzo di codice simile a ciò che devo correre: Come inviare Google Query del rapporto analitico utilizzando ASP.NET Google Analytic API versione 3 (Google.apis.analytics.v3.dll)?

Tuttavia, nessuno dei codici in questo articolo si risolve utilizzando le librerie di Google che si riferiscono nella Nuget.

Cosa mi manca e come posso completare l'immagine. Come posso autenticare e eseguire la mia query su Google Analytics.

Pollici fino a Google per non avere un tutorial facile da seguire online per supportare la loro libreria .NET!

Grazie in anticipo per qualsiasi consiglio!

È stato utile?

Soluzione

Accesso a Google Analtalici con V3 Client Library è davvero bello tbh.L'unica cosa che non ho funzionato è come inviarlo un rinfresco che ho memorizzato nel database.Sono bloccato con quello che memorizza per me sul PC.

Richiesta AUTENTICTICAZIONE: Tutte le schegge client sono memorizzate in client_secret.json è possibile scaricare il file da Google Apis Consol.Computerà una finestra del browser se non ha l'approvazione se lo fa, continuerà su.

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;
  }
.

}

Ora per accedere a Google Analytics è necessario effettuare un servizio di analisi.

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

Tutte le tue chiamate verranno ora eseguite contro questo.

Il tuo dovrebbe finire per essere qualcosa come:

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";
.

Ho un post del blog che funziona anche se la maggior parte delle chiamate diffrent che puoi fare. http://daimto.com/google-analytics-api-v3-with-c /

Altri suggerimenti

Stavo avendo lo stesso problema.Avevo installato i pacchetti di Nuget, ma ottenere lo stesso errore "Impossibile caricare file o assembly" Microsoft.Threading.tasks.extensions.Desktop, versione= 1.0.16.0, cultura= neutro, pubblica direttoKoken= B03F5F7F14D50A3A 'o una delle sue dipendenze. Il sistema non trova il file specificato."Ho provato a rimuovere e reinstallare i pacchetti Nuget inutili.Quindi, alla fine ho appena cercato il file Microsoft.Threading.tasks.extensions.desktop.dll ed è stato trovato nella cartella NET40.L'ho copiato nella cartella Bin e poi ha funzionato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top