gpt4 book ai didi

c# - Google c# Api,从 v2.3 更改为 v3

转载 作者:行者123 更新时间:2023-11-30 15:31:53 28 4
gpt4 key购买 nike

我有以下代码使用 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 进行身份验证然后查询 google 分析数据的任何简单示例。

我安装了以下 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

我看过这篇文章,它似乎运行了一段与我需要运行的类似的代码: How to send Google analytic report query using ASP.net Google analytic api Version 3(Google.Apis.Analytics.v3.dll)?

但是,本文中的所有代码均未使用 NuGet 中引用的谷歌库进行解析。

我缺少什么以及如何完成图片。我如何进行身份验证并将查询运行到谷歌分析。

拒绝谷歌,因为它没有易于遵循的在线教程来支持他们的 .net 库!

提前感谢您的任何建议!

最佳答案

说实话,使用 v3 客户端库访问 Google Analtyics 真的很棒。我唯一没有解决的是如何向它发送我存储在数据库中的刷新 token 。我坚持使用它在 PC 上为我存储的那个。

请求验证:所有客户端密码都存储在 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/

关于c# - Google c# Api,从 v2.3 更改为 v3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20044576/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com