我有一个代码可以在Visual Studio中的c#中为网站获取Google Analytics(分析)数据,它可以显示或获取直到前一天的数据,那么今天的数据呢?
下面是使用的代码。
var today = DateTime.Now;
var todayDate = today.ToString("yyyy-MM-dd");
string date = "2012-01-01";
DateTime dt = Convert.ToDateTime(date);
var startDate = dt.ToString("yyyy-MM-dd");
var websiteProfileID = "ga:XXXXXXXX";
string serviceAccountEmail = "avgvghsbhbh@developer.gserviceaccount.com";
var certificate = new X509Certificate2(@"D:/RCGA-fdrdrd250d7c.p12", "notasecret", X509KeyStorageFlags.Exportable);
var credential = new ServiceAccountCredential(
new ServiceAccountCredential.Initializer(serviceAccountEmail)
{
Scopes = new[] { AnalyticsService.Scope.Analytics }
}.FromCertificate(certificate));
// Create the service.
var service = new AnalyticsService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "GoogleAnalytics",
});
var viewTraffic = service.Data.Ga.Get(websiteProfileID, startDate, todayDate, "ga:hits");
viewTraffic.Dimensions = "ga:userType,ga:date";
viewTraffic.MaxResults = 10000;
viewTrafficData = viewTraffic.Execute();
foreach (List<string> row in viewTrafficData.Rows)
{
foreach (string col in row)
{
TextWriter tsw = new StreamWriter(@"D:\Hello.txt", true);
tsw.WriteLine(col);
tsw.Close();
}
}
最佳答案
core reporting API V3确实支持术语“今天”,所以您今天就可以使用该术语。
var todayDate = "today";
值必须匹配[0-9] {4}-[0-9] {2}-[0-9] {2} |今天|昨天| [0-9] +(daysAgo)。
但是,您需要记住一些有关Google Analytics(分析)数据的信息。数据在24-48小时内未完成处理。这意味着,如果您请求今天的数据,然后明天或两天后再次检查,数字可能会有所不同。
Google Analytics(分析)报告API V4返回名为isgolden的参数,该参数将告诉您数据是否已完成处理。
isDataGolden boolean指示对此请求的响应是否为金色。如果稍后再询问时完全相同的请求不会产生任何新结果,则数据为金色
但是,Google Analytics Reporting API v4没有日期范围的“今天”选项。您将必须在脚本中创建自己的今日获取日期。 v4 here有示例,here有更多示例。
关于c# - Google Analytics(分析)仅使用C#显示直到前一天的数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42479053/