谷歌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,但发现很难在网上看到任何简单的例子,其中有人使用谷歌oAuth进行身份验证,然后查询谷歌分析数据。

我安装了以下NuGet包:安装包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.可移植

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

然而,本文中的任何代码都没有使用NuGet中引用的google库进行解析。

我缺少什么?我该如何完成这张照片。我如何验证和运行我的查询到谷歌分析。

感谢谷歌没有一个简单的在线教程来支持他们的.net库!

提前感谢您的建议!

使用v3客户端库访问Google Analytics真的很不错。我唯一没有想到的是如何将我存储在数据库中的refreshtoken发送给它。我被它为我存储在电脑上的那个卡住了

请求授权:所有客户端scret内容都存储在client_secret.json中,您可以从googleapis-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;
  }

}

现在要访问谷歌分析,你需要制作一个分析服务。

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.106.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"或其依赖项之一。系统找不到指定的文件。"我尝试删除并重新安装nuget程序集,但没有成功。所以,我最终只搜索了Microsoft.Threading.Tasks.Extensions.Desktop.dll文件,它就在net40文件夹中找到了。我把它复制到我的垃圾箱文件夹,然后它就工作了。

相关内容

  • 没有找到相关文章

最新更新