我有一个代码来获取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();
}
}
答案 0 :(得分:1)
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。
答案 1 :(得分:0)
直到上周,我确实通过使用今天的日期作为&#39;结束&#39;从今天/现在获得V3 API的Google Analytics数据。 date(以及30天前的&#39; start&#39; date):网页浏览量/唯一身份访问者数据每10到20分钟更新一次。当我在我的网站上浏览新内容时(我在每个页面上显示网页浏览量/访客统计数据),我确实看到了浏览量的增加
自上周以来,我不再收到这些新数据,现在需要12-24个小时。在那些时间里,我的新页面(新闻报道)在前12个小时内只显示0。
这可能是API中的一个小问题,因为Google Analytics网站上的所有其他报告中都提供了最近的数据(除了Realtime标签)。此时我可以看到当前时间前15分钟的数据。
但是,它也可能与他们的新服务“360 Analytics&#39; (付费),已于2天前(3月1日)发布,并提供实时&#39;数据。此产品发布的时间和我的API调用不再返回新数据可能表明了一项战略举措。我试图联系Google Analytics小组,但没有得到任何有关数据不再新鲜的回应。如果是这种情况,如果谷歌积极地传达这一点,那将是礼貌的,因为它会导致V3 API的回归。
2017年3月5日更新:从今天上午开始,我再次收到Google Analytics V3 API的最新(新)数据,以获取与今天相关的数据。也许您可以尝试重新运行现有代码,看看API是否首先返回您期望的数据?