0

在網上搜索一個只會檢索一個數據結果的方法後,我開始失去希望,甚至可以。目前,我正在提取整個月的數據,將它們加在一起併除以當月的天數以檢索平均值。或者,把它們全部加在一起。谷歌分析報告方法,檢索單個值

比方說,我想只是一個從谷歌分析類似值:

PageViews

我只是想該值。這將如何完成?

下面是我的代碼的每一天,檢索和他們的頁面訪問量:

double totalPageViews = 0; 
     try 
     { 
      using (var stream = new FileStream(filepath, FileMode.Open, FileAccess.Read)) 
      { 
       string[] scopes = { AnalyticsReportingService.Scope.AnalyticsReadonly }; 
       var googleCredential = GoogleCredential.FromStream(stream); 
       credentials = googleCredential.CreateScoped(scopes); 
       var reportingService = new AnalyticsReportingService(
        new BaseClientService.Initializer 
        { 
         HttpClientInitializer = credentials 
        }); 
       var dateRange = new DateRange 
       { 
        StartDate = _startDate, 
        EndDate = _endDate 
       }; 
       var sessions = new Metric 
       { 
        Expression = "ga:pageviews", 
        Alias = "Sessions" 
       }; 
       var date = new Dimension { Name = "ga:date" }; 
       var reportRequest = new ReportRequest 
       { 
        DateRanges = new List<DateRange> { dateRange }, 
        Dimensions = new List<Dimension> { date }, 
        Metrics = new List<Metric> { sessions }, 
        ViewId = viewid 
       }; 
       var getReportsRequest = new GetReportsRequest 
       { 
        ReportRequests = new List<ReportRequest> { reportRequest } 
       }; 
       var batchRequest = reportingService.Reports.BatchGet(getReportsRequest); 
       var response = batchRequest.Execute(); 
       foreach (var x in response.Reports.First().Data.Rows) 
       { 
        Console.WriteLine("{0}: {1}", string.Join(", ", x.Dimensions), string.Join(", ", x.Metrics.First().Values)); 
        totalPageViews = totalPageViews + Convert.ToInt64(string.Join(", ", x.Metrics.First().Values)); 
       } 
       Console.WriteLine("Total Views from: 2017-08-01 to 2017-08-31: " + totalPageViews); 
       _totalPageViews = Convert.ToUInt64(totalPageViews); 
      } 

上述方法,其回報:

20170901: 193 
20170902: 40 
20170903: 48 
20170904: 188 
20170905: 269 
20170906: 236 
20170907: 244 
20170908: 233 
20170909: 37 
20170910: 43 
20170911: 207 
20170912: 205 
20170913: 179 
20170914: 222 
20170915: 130 
20170916: 25 
20170917: 66 
20170918: 229 
20170919: 209 
20170920: 224 
20170921: 205 
20170922: 164 
20170923: 29 
20170924: 33 
20170925: 92 
20170926: 210 
20170927: 208 
20170928: 167 
20170929: 166 
20170930: 56 
Total Views from: 2017-08-01 to 2017-08-31: 4557 

請注意:我知道的數字是相同。我知道這是正確的最終價值,但對於其他實體,如Avg Session Duration。再次,我知道這可以通過處理所有返回的數據來解析和編碼以返回正確的結果,我只想知道是否有更簡單的方法在日期之間檢索一個實體。

非常感謝。

+0

不同的語言,但是這基本上是這個問題的重複:https://stackoverflow.com/questions/46573995/how-to-return-總頁面瀏覽使用google分析sdk/46579774#46579774 –

回答

0

就我個人而言,我總是使用python SDK來查詢數據,但我認爲它基本相同。當查詢數據時,您可以只需要一個範圍內的1個度量標準,那樣會有效。

後憑證和所有的東西...

service.data().ga().get(
     ids='ga:' + profile_id, 
     start_date='7daysAgo', 
     end_date='today', 
     metrics='ga:pageviews').execute() 
+0

它或多或少是相同的,雖然,你有某些方法,我無法訪問..我真的很欣賞努力,雖然和謝謝爲響應<3 – fluffy

+1

@fluffy嘗試閱讀更多的文檔,如果你不限於C#告訴我,我會發送你的代碼在Python中。 – Marco

+0

非常感謝您的幫助:)我會做一些閱讀,目前我目前部分受限於c#。 – fluffy