为我的项目更正Google Analytics(分析)API

时间:2018-12-05 14:22:27

标签: c# google-analytics google-api google-analytics-api google-api-dotnet-client

我们正在忙于一个项目,我们希望在我们的网站上向客户显示其受欢迎程度。每个客户在我们网站上都有页面,我们希望使用Google Analytics(分析)中这些页面的访问量来衡量其受欢迎程度。

尽管我们会做的是查询Google Analytics(分析)API,以了解特定页面在一段时间内的访问量(具体取决于页面,但动态)。然后,当我们返回结果时,将在我们自己的设计和布局中使用该结果。

在我看来Reporting Api用于更复杂的迭代。我们找不到该API的更简单版本。还有另一种访问此API的方法。

环境是asp.net C#

1 个答案:

答案 0 :(得分:0)

有三种用于从Google Analytics(分析)API请求数据的API。

  • 实时api返回给定或获取数据的最后五分钟。
  • 核心报告API V3,这是Google Analytics(分析)API的V3。
  • 报告api v4,这是api的最新版本。

虽然Reporting api mak seam对您来说很复杂,但它是从Google Analytics(分析)中请求数据的唯一选择。我建议您查看C# samples文档以了解如何使用API​​。

一种简单的请求数据的方法如下所示

// Create the DateRange object.
DateRange dateRange = new DateRange() { StartDate = "2015-06-15", EndDate = "2015-06-30" };

// Create the Metrics object.
Metric sessions = new Metric { Expression = "ga:sessions", Alias = "Sessions" };

//Create the Dimensions object.
Dimension browser = new Dimension { Name = "ga:browser" };

// Create the ReportRequest object.
// Create the ReportRequest object.
ReportRequest reportRequest = new ReportRequest
{
    ViewId = "XXXX",
    DateRanges = new List<DateRange>() { dateRange },
    Dimensions = new List<Dimension>() { browser },
    Metrics = new List<Metric>() { sessions }
};

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

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

// Call the batchGet method.
GetReportsResponse response = analyticsreporting.Reports.BatchGet(getReport).Execute();

我建议您使用服务帐户身份验证。我这里有一个示例ServiceAccount.cs

警告

Google Analytics(分析)API中有多个配额,其中一个配额意味着每个视图最多可以发出10000个请求。这就是您要插入数据的视图。除非您缓存数据,否则如果您的网站繁忙,此配额将有问题。没有办法延长这个配额,即使向Google投钱也不会让他们延长配额。