【问题标题】:Display Google Analytics Data in View在视图中显示 Google Analytics 数据
【发布时间】:2014-04-09 02:30:48
【问题描述】:

我正在为 MVC 应用程序开发一个 Google Analytics 客户端,该应用程序从 Analytics API 收集数据,并且我正在尝试在视图中显示数据。最终目标是用谷歌图表显示谷歌分析数据。

但是我不确定如何正确构建数据。每个指标都是一个带有KeyValuePair 的字典,其中指标名称是键,值是实际值。例如ga:visitors, 3000。我需要将每个指标及其KeyValuePair 组织到一个可以返回视图的字典中。

例如,首先我编写了一个返回 3 个指标的控制台应用程序:

  • ga:visitors
  • ga:newVisits
  • ga: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


【解决方案1】:

临时修复只是为了显示数据。它符合它的目的。

将 GAnalyticsService 从 void 更改为字符串方法。

返回这个:

return "Besöksstatistik" + "  " +
                    d.Query.StartDate + " " + "-" + " " + d.Query.EndDate + "<br/>" +
                    "------------------------------------------" + "<br/>" +
                 "Antal besökare:" + " " + d.TotalsForAllResults["ga:visitors"] + "<br/>" +
                 "Antal nya besökare:" + " " + d.TotalsForAllResults["ga:newVisits"] + "<br/>" +
                 "Procent nya besökare:" + " " + d.TotalsForAllResults["ga:percentNewVisits"] + "%".ToString();

在视图中得到以下输出:

Besöksstatistik 2010-02-24 - 2014-02-24
------------------------------------------
Antal besökare: 343272
Antal nya besökare: 147693
Procent nya besökare: 42.54700702044485%

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多