【发布时间】:2014-04-09 02:30:48
【问题描述】:
我正在为 MVC 应用程序开发一个 Google Analytics 客户端,该应用程序从 Analytics API 收集数据,并且我正在尝试在视图中显示数据。最终目标是用谷歌图表显示谷歌分析数据。
但是我不确定如何正确构建数据。每个指标都是一个带有KeyValuePair 的字典,其中指标名称是键,值是实际值。例如ga:visitors, 3000。我需要将每个指标及其KeyValuePair 组织到一个可以返回视图的字典中。
例如,首先我编写了一个返回 3 个指标的控制台应用程序:
-
ga:visitors ga:newVisitsga:percentNewVisits
注意:每个指标都是带有KeyValuePair 的单独字典。例如:[ga:visitors, 3000]
在控制台显示数据时,代码如下:
Console.WriteLine("VisitorStatistics" + " " +
d.Query.StartDate + " " + "-" + " " + d.Query.EndDate + "\r\n" +
"------------------------------------------" + "\r\n" +
"Visitors:" + " " + d.TotalsForAllResults["ga:visitors"] + "\r\n" +
"New Visitors:" + " " + d.TotalsForAllResults["ga:newVisits"] + "\r\n" +
"Percent New Visitors:" + " " + d.TotalsForAllResults["ga:percentNewVisits"] +"%");
我需要在我的 MVC 4 /asp.net 应用程序中显示这些数据,但我不确定如何实现。所有代码都位于我的控制器中:
public void GAnalyticsService()
{
var serviceAccountEmail = "xxxxx.gserviceaccount.com";
var certificate = new x509Certificate2(@"C:\Users\User\Desktop\MyApp\Presentation\Nop.Web\key.p12", "notasecret", X509KeyStorageFlags.Exportable);
var credential = new ServiceAccountCredential(
new ServiceAccountCredential.Initializer(serviceAccountEmail) {
Scopes = new[] { AnalyticsService.Scope.Analytics }
}.FromCertificate(certificate));
// Create the service.
//NopCommerce
var GoogleAnalyticsService = new AnalyticsService(new BaseClientService.Initializer() {
HttpClientInitializer = credential,
ApplicationName = "MyApp",
});
var request = GoogleAnalyticsService.Data.Ga.Get("ProfileID", "2010-02-24", "2014-02-24", "ga:visitors,ga:newVisits,ga:percentNewVisits");
//Specify some addition query parameters
request.Dimensions = "ga:visitCount";
request.Sort = "-ga:visitors";
request.MaxResults = 10000;
//Execute and fetch the results of our query
Google.Apis.Analytics.v3.Data.GaData d = request.Execute();
}
public ActionResult GAStatistics() {
//GAnalyticsService();
return View(new GAStatisticsListModel());
}
}
这是我从 Google Analytics API 收到的数据:
具有 3 个指标的总结果(每个指标都有一个带有 KeyValuePair 的字典)
键值对:
我只需要组织这些数据并在视图中显示它,纯数据(文本)就可以了。我该怎么做?
任何建议都会有很大帮助。
【问题讨论】:
-
感谢这些信息确实很有价值,尽管所有这些信息可能并不简单地应用于 .NET/C#?
-
Google 图表不是 .net
-
不,我知道,但我已经能够在单独的应用程序中同时使用 Analytics API 和 Googlge Charts API。将它们结合起来没问题,问题是我需要在视图中显示从分析中获得的数据。原始数据很好,我只需要一些东西
标签: c# asp.net-mvc google-analytics google-analytics-api google-api-client