谷歌c#Api,从v2.3变为v3

我有以下代码使用C#v2.3 api查询谷歌分析:

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) { .... } 

我想升级更新的v3 api,但发现很难在网上找到任何使用google oAuth进行身份validation的简单示例,然后查询谷歌分析数据。

我安装了以下NuGet包:Install-Package Google.Apis.Analytics.v3 -Pre在新的c#解决方案中,它为我提供了以下附加参考:

  • Google.Apis
  • Google.Apis.Analytics.v3
  • Google.Apis.Auth
  • Google.Apis.Auth.PlatformServices
  • Google.Apis.PlatformServices
  • log4net的
  • Newtownsoft.Json
  • Zlib.Portable

我看过这篇文章,似乎运行了类似的代码片段,我需要运行: 如何使用ASP.net谷歌分析api版本3(Google.Apis.Analytics.v3.dll)发送谷歌分析报告查询?

但是,本文中的代码都没有使用NuGet中引用的Google库进行解析。

我错过了什么,我怎样才能完成图片。 如何进行身份validation并运行我的查询以进行Google Analytics。

拇指向下谷歌没有一个易于遵循的教程在线支持他们的.net库!

提前感谢您的任何建议!

使用v3客户端库访问Google Analtyics非常好。 我唯一没有解决的问题是如何发送它存储在数据库中的refreshtoken。 我坚持在PC上为我存储的那个。

请求autentication:所有客户端scret东西都存储在client_secret.json中,你可以从google apis consol下载文件。 如果它没有获得批准,它将弹出一个浏览器窗口,如果它只是继续。

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

}

现在,要访问Google Analytics,您需要制作分析服务。

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

现在,您的所有电话都将针对该电话运行。

你的应该是这样的:

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

我有一个博客文章,虽然可以进行大多数不同的调用。 http://daimto.com/google-analytics-api-v3-with-c/

我遇到了同样的问题。 我安装了nuget软件包,但得到了同样的错误“无法加载文件或程序集”Microsoft.Threading.Tasks.Extensions.Desktop,Version = 1.0.16.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a’或其依赖项之一。 该系统找不到指定的文件。” 我尝试删除并重新安装nuget包无济于事。 所以,我最终只搜索了Microsoft.Threading.Tasks.Extensions.Desktop.dll文件,它在net40文件夹中找到。 我将它复制到我的bin文件夹然后它工作了。