c# - 以编程方式指定 Google Analytics Reporting API v4 查询结果

标签 c# .net google-api google-analytics-api google-api-dotnet-client

如何查询特定页面?我只需要从特定页面获取数据。

示例:domain.com/thisPage、domain.com/anotherPage 等。

ReportRequest reportRequestLandingPath = new ReportRequest
{
    ViewId = GoogleAnalyticsIds,
    DateRanges = new List<DateRange>() { dateRange },
    Dimensions = new List<Dimension>() { landingPagePath },
    Metrics = new List<Metric>() { avgSessionDuration, sessions, pageviewsPerSession }
};

我正在尝试获得看起来像 something like this 的结果这样我就可以将它们添加到我正在构建的谷歌图表中。

我的问题是,我获取了我域中每个页面的所有 78 个结果。我只需要从 5-6 个特定页面获取 avgSessionDuration、sessions、pageviewsPerSession。

最佳答案

您应该在请求中添加一个过滤器,只需添加您想要查看其数据的页面,并且只会返回这些页面的数据。

var metrics = new List<Metric>();
metrics.Add(new Metric { Expression = "ga:avgSessionDuration", Alias = "Avg. Session Duration" });
metrics.Add(new Metric { Expression = "ga:sessions", Alias = "Sessions" });
metrics.Add(new Metric { Expression = "ga:pageviewsPerSession", Alias = "Pageviews Per Session" });

var dimensions = new List<Dimension>();
dimensions.Add(new Dimension { Name = "ga:landingPagePath" });

var filterClause = new DimensionFilterClause();

var filter = new DimensionFilter
         {
         DimensionName = "ga:landingPagePath",
         Operator__ = "PARTIAL",
         Expressions = new List<string> { "accessing-google-calendar-with-php-oauth2" }
        };
filterClause.Filters = new List<DimensionFilter> { filter };
ReportRequest reportRequest = new ReportRequest
            {
                ViewId = "78110423",
                DateRanges = new List<DateRange>() { new DateRange() { StartDate = "3daysago", EndDate = "today" } },
                Dimensions = dimensions,
                Metrics = metrics,
                DimensionFilterClauses = new List<DimensionFilterClause> { filterClause }
            };

List<ReportRequest> requests = new List<ReportRequest>();
requests.Add(reportRequest);

// Create the GetReportsRequest object.
GetReportsRequest getReport = new GetReportsRequest() { ReportRequests = requests };

我建议使用Query explorer为了测试您的过滤器,让它们工作可能很棘手。

关于c# - 以编程方式指定 Google Analytics Reporting API v4 查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43991025/

相关文章:

c# - 使用 C# 和 ASP.NET 从 Gmail/Hotmail/Yahoo 导入地址簿

python - 没有这样的表 : social_auth_usersocialauth

c# - 如何删除 Xamarin Forms 中网格上的 TapGestureRecognizer?

c# - Gridview,在行更新时从单元格获取值

c# - 队列竞争条件

google-api - 谷歌时间线可视化中的垂直引用线

geolocation - 如何避开 Google Directions API 中的限制收费站和高速公路?

c# - 如何使用 AJAX 调用 ASP.NET 根页面中的 Web 方法

c# - 数据库列值的简洁错误值

c# - 是否可以在默认的 FolderBrowserDialog 中显示隐藏的文件夹?