如何通过来自 Google Analytics V4 的 .netcore 应用程序查询数据

How to query data via a .netcore app from Google Analytics V4

我在网上找到了很多关于该主题的示例,但显然 Google 已经切换到一种在 Google Analytics 中呈现数据的新方式。

在他们的 V4(我猜有一个 nuget 包,因为字母“V”和数字“4”出现在 dll 的名称中 - Google.Apis.AnalyticsReporting.v4)版本有没有意见。您转到管理 -> 帐户 -> 属性 就是这样 - 没有视图。

据我了解,当您查询 GA 时,ViewId 对于请求是强制性的。

我只能假设现在有一种新的方法。

我有设置:api 在我在 Google 控制台创建的项目中启用,创建了一个服务帐户,通过 json 文件完成身份验证,与该服务帐户关联的用户在 GA 的帐户访问管理中添加为管理员。

但是如何从.netcore查询报告api?是否有另一个包含更新库的软件包?

Universal Analytics 和 Google Analytics GA4 是两个完全不同的系统,不能混用。

Universal Analytics 有视图 ID,GA4 有测量 ID。

用于访问这些不同系统的 API 也不同,因此它们也有自己的 nuget 包。

Google.Apis.AnalyticsReporting.v4 用于 Google 分析报告 api,以及所有其他 api,让您可以访问 [=11= 背后的数据].它无法让您访问 GA4 数据不一样。

如何访问 GA4

要访问 GA4 帐户,您需要通过 Google 分析数据 api 和 Google 分析管理员 api。

在撰写本文时,这两个 api 实际上仍处于 Beta 和 Alpha 阶段。

GOOGLE_APPLICATION_CREDENTIALS  C:\tmp\ServiceAccountCred.json
var client = await BetaAnalyticsDataClient.CreateAsync(CancellationToken.None);
var request = new RunReportRequest
{
    Property = "properties/" + PropertyId,
    Dimensions = {new Dimension {Name = "date"},},
    Metrics = {new Metric {Name = "totalUsers"},new Metric {Name = "newUsers"}},
    DateRanges = {new DateRange {StartDate = "2021-04-01", EndDate = "today"},},
};
var response = await client.RunReportAsync(request);
foreach (var row in response.Rows)
{
    Console.WriteLine($"{row.DimensionValues[0].Value}, {row.MetricValues[0].Value}, {row.MetricValues[1].Value}");
}

无耻地从我的教程中撕下代码Guide to Google analytics Data Api Beta with C#